{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[![Dataflowr](https://raw.githubusercontent.com/dataflowr/website/master/_assets/dataflowr_logo.png)](https://dataflowr.github.io/website/)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "G1w5n0W02uiH"
   },
   "source": [
    "# Unsupervised learning with Autoencoder\n",
    "\n",
    "We first play with MNIST dataset and pieces of code seen during the course."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "CFac0UPC2uiI"
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from pathlib import Path\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import torch.optim as optim\n",
    "from torchvision import datasets, transforms\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "s7XyL-JX2uiM"
   },
   "source": [
    "## Loading MNIST"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9yAsJijZ2uiM"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using gpu: True \n"
     ]
    }
   ],
   "source": [
    "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
    "\n",
    "print('Using gpu: %s ' % torch.cuda.is_available())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "6koHB8Z_2uiQ"
   },
   "outputs": [],
   "source": [
    "# to be modified if not on colab\n",
    "ROOT_DIR = Path.home()\n",
    "root_dir = os.path.join(ROOT_DIR,'data/MNIST/')\n",
    "train_loader = torch.utils.data.DataLoader(\n",
    "    datasets.MNIST(root_dir, train=True, download=True, transform=transforms.ToTensor()),\n",
    "    batch_size=256, shuffle=True)\n",
    "\n",
    "test_loader = torch.utils.data.DataLoader(\n",
    "    datasets.MNIST(root_dir, train=False, download=True, transform=transforms.ToTensor()),\n",
    "    batch_size=10, shuffle=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "s1M2kLzn2uiT"
   },
   "source": [
    "## Helper Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "wugVCUrI2uiT"
   },
   "outputs": [],
   "source": [
    "def to_img(x):\n",
    "    x = x.cpu().data.numpy()\n",
    "    x = 0.5 * (x + 1)\n",
    "    x = np.clip(x, 0, 1)\n",
    "    x = x.reshape([-1, 28, 28])\n",
    "    return x\n",
    "\n",
    "def plot_reconstructions(model):\n",
    "    \"\"\"\n",
    "    Plot 10 reconstructions from the test set. The top row is the original\n",
    "    digits, the bottom is the decoder reconstruction.\n",
    "    The middle row is the encoded vector.\n",
    "    The encoder is called by model.encoder\n",
    "    The decoder is called by model.decoder\n",
    "    \"\"\"\n",
    "    # encode then decode\n",
    "    data, _ = next(iter(test_loader))\n",
    "    data = data.view([-1, 784])\n",
    "    data.requires_grad = False\n",
    "    data = data.to(device)\n",
    "    true_imgs = data\n",
    "    encoded_imgs = model.encoder(data)\n",
    "    decoded_imgs = model.decoder(encoded_imgs)\n",
    "    \n",
    "    true_imgs = to_img(true_imgs)\n",
    "    decoded_imgs = to_img(decoded_imgs)\n",
    "    encoded_imgs = encoded_imgs.cpu().data.numpy()\n",
    "    \n",
    "    n = 10\n",
    "    plt.figure(figsize=(20, 4))\n",
    "    for i in range(n):\n",
    "        # display original\n",
    "        ax = plt.subplot(3, n, i + 1)\n",
    "        plt.imshow(true_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "        \n",
    "        ax = plt.subplot(3, n, i + 1 + n)\n",
    "        plt.imshow(encoded_imgs[i].reshape(-1,4))\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "\n",
    "        # display reconstruction\n",
    "        ax = plt.subplot(3, n, i + 1 + n + n)\n",
    "        plt.imshow(decoded_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "    \n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "dRAI3MaO2uiW"
   },
   "source": [
    "## Simple Auto-Encoder\n",
    "\n",
    "We'll start with the simplest autoencoder: a single, fully-connected layer as the encoder and decoder."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "GApDwy6e2uiW"
   },
   "outputs": [],
   "source": [
    "class AutoEncoder(nn.Module):\n",
    "    def __init__(self, input_dim, encoding_dim):\n",
    "        super(AutoEncoder, self).__init__()\n",
    "        self.encoder = nn.Linear(input_dim, encoding_dim)\n",
    "        self.decoder = nn.Linear(encoding_dim, input_dim)\n",
    "\n",
    "    def forward(self, x):\n",
    "        encoded = F.relu(self.encoder(x))\n",
    "        decoded = self.decoder(encoded)\n",
    "        return decoded"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "oUbMKILV2uiZ"
   },
   "outputs": [],
   "source": [
    "input_dim = 784\n",
    "encoding_dim = 64\n",
    "\n",
    "model = AutoEncoder(input_dim, encoding_dim)\n",
    "model = model.to(device)\n",
    "optimizer = optim.Adam(model.parameters())\n",
    "loss_fn = torch.nn.MSELoss()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ZaNO1R_G2uid"
   },
   "source": [
    "Why did we take 784 as input dimension?\n",
    "\n",
    "To find the learning rate, see the documentation for [Adam optimizer](https://pytorch.org/docs/stable/optim.html#torch.optim.Adam)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "e3Zh8eQ_2uid"
   },
   "outputs": [],
   "source": [
    "def train_model(model,loss_fn,data_loader=None,epochs=1,optimizer=None):\n",
    "    model.train()\n",
    "    for epoch in range(epochs):\n",
    "        for batch_idx, (data, _) in enumerate(train_loader):\n",
    "            data = data.view([-1, 784]).to(device)\n",
    "            optimizer.zero_grad()\n",
    "            output = model(data)\n",
    "            loss = loss_fn(output, data)\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            if batch_idx % 100 == 0:\n",
    "                print('Train Epoch: {} [{}/{} ({:.0f}%)]\\tLoss: {:.6f}'.format(\n",
    "                    epoch, batch_idx * len(data), len(data_loader.dataset),\n",
    "                    100. * batch_idx / len(data_loader), loss.data.item()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "dybe6kLJ2uig",
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 0 [0/60000 (0%)]\tLoss: 0.122340\n",
      "Train Epoch: 0 [25600/60000 (43%)]\tLoss: 0.048029\n",
      "Train Epoch: 0 [51200/60000 (85%)]\tLoss: 0.032272\n",
      "Train Epoch: 1 [0/60000 (0%)]\tLoss: 0.030779\n",
      "Train Epoch: 1 [25600/60000 (43%)]\tLoss: 0.024821\n",
      "Train Epoch: 1 [51200/60000 (85%)]\tLoss: 0.022687\n",
      "Train Epoch: 2 [0/60000 (0%)]\tLoss: 0.021625\n",
      "Train Epoch: 2 [25600/60000 (43%)]\tLoss: 0.020779\n",
      "Train Epoch: 2 [51200/60000 (85%)]\tLoss: 0.020650\n",
      "Train Epoch: 3 [0/60000 (0%)]\tLoss: 0.019362\n",
      "Train Epoch: 3 [25600/60000 (43%)]\tLoss: 0.018665\n",
      "Train Epoch: 3 [51200/60000 (85%)]\tLoss: 0.019181\n",
      "Train Epoch: 4 [0/60000 (0%)]\tLoss: 0.018281\n",
      "Train Epoch: 4 [25600/60000 (43%)]\tLoss: 0.017792\n",
      "Train Epoch: 4 [51200/60000 (85%)]\tLoss: 0.017301\n",
      "Train Epoch: 5 [0/60000 (0%)]\tLoss: 0.017593\n",
      "Train Epoch: 5 [25600/60000 (43%)]\tLoss: 0.017453\n",
      "Train Epoch: 5 [51200/60000 (85%)]\tLoss: 0.017016\n",
      "Train Epoch: 6 [0/60000 (0%)]\tLoss: 0.016472\n",
      "Train Epoch: 6 [25600/60000 (43%)]\tLoss: 0.017353\n",
      "Train Epoch: 6 [51200/60000 (85%)]\tLoss: 0.017385\n",
      "Train Epoch: 7 [0/60000 (0%)]\tLoss: 0.017478\n",
      "Train Epoch: 7 [25600/60000 (43%)]\tLoss: 0.017000\n",
      "Train Epoch: 7 [51200/60000 (85%)]\tLoss: 0.017239\n",
      "Train Epoch: 8 [0/60000 (0%)]\tLoss: 0.016633\n",
      "Train Epoch: 8 [25600/60000 (43%)]\tLoss: 0.016474\n",
      "Train Epoch: 8 [51200/60000 (85%)]\tLoss: 0.017192\n",
      "Train Epoch: 9 [0/60000 (0%)]\tLoss: 0.017353\n",
      "Train Epoch: 9 [25600/60000 (43%)]\tLoss: 0.017422\n",
      "Train Epoch: 9 [51200/60000 (85%)]\tLoss: 0.016855\n"
     ]
    }
   ],
   "source": [
    "train_model(model, loss_fn, data_loader=train_loader, epochs=10, optimizer=optimizer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "NOPJgAUh2uij"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABf4AAAFMCAYAAACatK3ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACok0lEQVR4nO3dZ2BURdvG8RvSQxcpFuwVu9hFsWCjKAr2jr0rir2CiIoKWLCLigoqomLvXdFHRFSsWEFQwUJNQkneD3n3zjVzdmmGRJb/74v3bs5sDruzM+ccM9epU1FRUWEAAAAAAAAAACAr1K3tHQAAAAAAAAAAANWHC/8AAAAAAAAAAGQRLvwDAAAAAAAAAJBFuPAPAAAAAAAAAEAW4cI/AAAAAAAAAABZhAv/AAAAAAAAAABkES78AwAAAAAAAACQRXKXtGF5eblNmjTJGjRoYHXq1KnOfYKoqKiwGTNm2Morr2x16y7f/5+GPldz6HdV6Hc1h35XhX5XM+hzVehzNYd+V4V+V3Pod1XodzWDPleFPldz6HdV6Hc1gz4Xot/VjMXpd0t84X/SpEnWqlWrJW2OxTRhwgRbddVVa3s3ahV9rubR7+h3tYF+R7+rafQ5+lxtoN/R72oD/Y5+V9Poc/S52kC/o9/VNPpcJfpdzVqUfrfE/zuqQYMGS9oUS4D3m/egNvCe8x7UBt5z3oOaxvvNe1AbeM95D2oD7znvQU3j/eY9qA2857wHNY33uxLvQ81alPd7iS/8s2SjZvF+8x7UBt5z3oPawHvOe1DTeL95D2oD7znvQW3gPec9qGm837wHtYH3nPegpvF+V+J9qFmL8n4TQAUAAAAAAAAAQBbhwj8AAAAAAAAAAFmEC/8AAAAAAAAAAGQRLvwDAAAAAAAAAJBFuPAPAAAAAAAAAEAW4cI/AAAAAAAAAABZhAv/AAAAAAAAAABkkdza3gFgWXLeeecFj4uKirzedNNNve7WrVvG17j99tu9/uCDD7weMmRIdewiAAAAAAAAgOUcf/EPAAAAAAAAAEAW4cI/AAAAAAAAAABZhKgfYCEeffRRrxcU4aPKy8sz/uykk07yun379l6/9dZbXv/yyy+Ls4vAYllvvfW8/vrrr70+66yzgu1uueWWGtsnLFvq1avndb9+/bzW8c3MbPTo0V4feOCBXv/8889Lce8AAAAAZLMmTZp4vdpqqy1SGz0HOeecc4KfffHFF15/++23Xo8dO3ZJdxH4T+Av/gEAAAAAAAAAyCJc+AcAAAAAAAAAIIsQ9QOksSTxPhqZ8tJLL3m91lprBdt17tzZ67XXXtvrww8/3Ou+ffsu+s4Ci2mLLbbwWmOpJk6cWBu7g2XQSiut5PUJJ5zgdRxz1qZNG687derk9W233bYU9w7Lqi233DJ4PGLECK/XWGONpfZ799xzT6+/+uorrydMmLDUfieylx7njRw50uvTTz892O6OO+7wev78+Ut/x1Drmjdv7vVjjz0W/Oz999/3+q677vL6p59+Wur7ZWbWqFEjr3feeefgZy+++KLXc+fOrZH9AYCUjh07er3vvvt6vcsuu3i9zjrrLNJraYTP6quvHvysoKAgbZucnJxFem3gv4q/+AcAAAAAAAAAIItw4R8AAAAAAAAAgCxC1A/w/7baaiuv999//7TbjBs3LnisS82mTp3q9cyZM73Oz88P2owaNcrrzTbbzOumTZsu5h4DS2bzzTf3etasWV4/+eSTtbA3WFY0a9bM6wceeKAW9wTZaq+99goeZ1pyXd00mqV79+5eH3LIITXy+7Hs02O4QYMGpd3m1ltvDR7fd999XpeUlCydHUOta9Kkidd6HqHROmZmv//+u9e1Ee8zevRor3W+Nwtj+8aPH7/0dww1omHDhl5rzOzGG2/sdfv27YM2RD2hOmns8Wmnnea1xoiamRUVFXldp06df/U711tvvX/VHlgW8Rf/AAAAAAAAAABkES78AwAAAAAAAACQRbjwDwAAAAAAAABAFvnPZPx369YteKy5XpMmTfK6tLTU64cffjho89tvv3lN/iAW10orreS1ZsdpHmecPzx58uSFvu65554bPG7dunXa7Z577rlF2k9gSWhe5+mnn+71kCFDamN3sAw488wzg8ddunTxeptttlns19t55529rlu36u8Oxo4dG2z39ttvL/ZrY9mVm1t1KNqhQ4da2QfNtu7Ro4fX9erV81rvhwLEdHxbddVV024zdOjQ4LGe0yC7rLjiil4/+uijXq+wwgpex/eCOOOMM5b+jkUuvfRSr9dcc02vTzrppGA7zquzw+GHHx487tOnj9etWrVK20bvA2Bm9ueff1b/jmG5pfPlWWedtdR+z9dff+11fM9GLN/WWWcdr3XuNgvv+7nLLrt4XV5e7vUdd9wRtHnvvfe8/i/NnfzFPwAAAAAAAAAAWYQL/wAAAAAAAAAAZJH/TNTP9ddfHzxeY401FtomXoY4Y8YMr2tqCc/EiRO91n/Dxx9/XCO/H9XnmWee8VqX/Gi/+uuvvxb7dQ855JDgcV5e3hLsHfDvbLDBBl5rfIUuQQdU//79g8e6rHFJHHDAAWnrn3/+Odju4IMP9lojWJCddt11V6+333774GfxseHS0qRJE681jq+4uNhron6gCgoKgseXXHLJQtvE0XoVFRXVuk/479hyyy291ngA1atXrxram9BGG23ktcaRPvnkk15zbJg9NEplwIABwc+aNm3qdabx6JZbbgkea1zokpwXI3tpTIrG9mj0iZnZiy++6HVZWZnX06ZN8zo+5tJz15dfftnrL774wusPP/wwaDNmzBivS0pKMr42lg+ZYo/1nDSO+lkU2267bfB43rx5Xn/zzTdev/vuu17HsVZz5sxZ7N+7uPiLfwAAAAAAAAAAsggX/gEAAAAAAAAAyCL/maifE044IXi86aabev3VV195veGGG3qtyyjNwqWU2223ndcTJkzwOtMd62O6RGPKlCnBz1ZaaaW0bX755RevifpZtsXRE4urZ8+eXq+33noZt9MlafHyNKA6nX/++V5r/2asgnr++ee9rlv33/9twJ9//un1zJkzvV599dW9XnPNNYM2H330kdc5OTn/eh/w36PLbYcOHer1999/H2x3zTXX1Mj+7LfffjXye5A9Ntlkk+BxmzZt0m6n5xMvvPDCUt0n1J7mzZsHj7t27Zp2u+OOO87r+PxyadFoHzOzV199Ne12GvWjMadYtp133nler7DCCovdXuMXzcz23ntvr/v06eO1RgLVRGwF/hsyRfBsttlmXu+///4Z248aNcprvbb3008/BdutttpqXmvU9r+NIUV20WvIp512WvAzHcsaNmyYtv2vv/4aPH7nnXe8/vHHH73W6ypxLO0222zjtY65HTp08Hrs2LFBmzvuuCPt/lQn/uIfAAAAAAAAAIAswoV/AAAAAAAAAACyyH8m6ue1115b4OMUvQt4rEmTJl5vvvnmXuvyi6233nqR9qe0tNTrb7/9NviZRg/p8o14iTqWL506dfK6V69eXufn5wfb/fHHH15fdNFFXs+ePXsp7h2WN2ussUbweKuttvJax7RZs2bV1C7hP6pdu3Zer7/++l7Hy2cXZTltvFRRl/1OmzbN6912283rSy65JOPrnXLKKV7ffvvtC/39WDZceumlXusycY0QMAvjoapTHHeg3wGWjWNRZIpyiekYiOx14403Bo+POOIIr/U89PHHH6+xfUrZaaedgsctWrTw+v777/f6oYceqqldwlKmcYrHHntsxu0+++wzr3///Xev27dvn7FNo0aNvNYYoYcfftjr3377bdF3FsuU+LrGI4884rXG+2hUY6Z4sVgc76M0UhtQd955p9caK7XiiitmbKPXmj///HOvL7744mA7vSasdthhB6/1XNXM7L777vNar0nrGHvbbbcFbZ544gmvl1YMIH/xDwAAAAAAAABAFuHCPwAAAAAAAAAAWYQL/wAAAAAAAAAAZJH/TMZ/dfj777+9fuONN9Juk+neAQsS53jqvQQ0E+rRRx9d7NdG9tAM9Tj/Tmk/eeutt5bqPmH5pZnVsaWVHYdlh94DYtiwYV4vKA9R/fzzz15rLuFVV10VbJfp3iXa/sQTTwx+1qxZM6+vv/56rwsLC72+9dZbgzZz585dlN1GLerWrZvXHTp08Hr8+PFef/zxxzWyL/F9JTTX/8033/T6n3/+qZH9wbJn5513zvizOXPmeL2ge5gge1RUVASPdUyZNGmS19o3qltRUZHXmlN86qmnBtvpvnbv3n2p7Q9qj+ZKN2jQwOt33nkn2E7PFfQY69BDD/U6zrxee+21vW7ZsqXXTz/9tNf77LNP0Oavv/5a1F3Hf1D9+vW91vsTmoX3OJw6darXN9xwg9fcxxD/lo5PZmbnn3++18cff7zXderU8Tq+3qH3iuvXr5/XS3K/w6ZNm3qdk5MT/OzKK6/0Wu9Pq/deqQ38xT8AAAAAAAAAAFmEC/8AAAAAAAAAAGSRrIr6qU7Nmzf3etCgQcHP6tat+v8lvXr18pplbMufp556yus999wz7TYPPvhg8PjSSy9dmrsEmJnZJptskvFnGp+C5VNubtX0v6jxPhpNdsghh3itS3sXlUb99O3bN/jZTTfd5HVxcbHX2m9HjhwZtPn+++8Xex9Qsw488ECv9XONj7GWFo23Ovzww4OfzZ8/3+urr77aayKkoHbYYYe0dUyXjX/66adLc5ewDOjYsaPXL7/8stdxlJjGECwqjWrZZZddvN5uu+0ythk+fPhi/x4sWwoKCrzWaKf+/ftnbFNaWur14MGDvda528xsrbXWStte41yWZqQVal6XLl28vvDCC4Of/fLLL17vtNNOXk+bNm2p7xeWHzq/mZn17NnTa433+fXXX72O49o/+uijxf69GuPTqlUrr/X63vPPPx+00Vh4pfs5ZMiQ4Gc1ES3KX/wDAAAAAAAAAJBFuPAPAAAAAAAAAEAWIeong9NOO83rZs2aBT/7+++/vf7mm29qbJ9Q+1ZaaaXgsS711mWVGn2hsQFmZjNnzlxKe4flnS7tPvbYY4OfjRkzxutXXnmlxvYJy66PP/44eNy9e3evlyTeJ5M4tkdjWLbeeutq+z2oWY0aNQoeZ4qeWJJ4iyVx4okneh3HW3311Vdev/HGGzWyP1j2LOp4VFN9Gv8dAwcODB7vuuuuXq+88spe77zzzl7rsn8zs3333Xexf6++hka6qB9++CF4fPHFFy/278Gy5dBDD037vMZOmYWRtZlstdVWi/Q7R40a5TXnutllQdF2en45ceLEmtgdLIc0cscsjOhU8+bN83rbbbcNftatWzevN9hgg7TtS0pKgscbbrhh2lrPg1u0aJFptwO///671/H1wZqIFuUv/gEAAAAAAAAAyCJc+AcAAAAAAAAAIIsQ9SN23HFHr+M7liu9s/kXX3yxNHcJ/zFPPPFE8Lhp06Zpt3vooYe8/v7775fqPgEp7du393qFFVYIfvbiiy96XVpaWmP7hP++unXT/w1AvERyaYnjDnR/Mu3blVdeGTw+8sgjq32/8O9o/J2Z2SqrrOL10KFDa3p3bO211874M47lsCgWFHnxzz//eE3Uz/Jn9OjRweNNN93U680339zrvffe2+uePXsGbaZMmeL1Aw88sEi/d8iQIV6PHTs27Tbvv/9+8Jjzkuync6xGSMVxZRp3sckmm3i9//77e92kSZOgjY51+rMTTjjBa+2XZmZffvnlou46/oM0IiWmY9oVV1zh9dNPP+31p59+ulT2C8uP119/PXissZx6/WO11Vbz+uabbw7aZIrD09igOFIokwXF+5SXl3v95JNPen3mmWd6PXny5EX6PdWJv/gHAAAAAAAAACCLcOEfAAAAAAAAAIAswoV/AAAAAAAAAACyCBn/okOHDl7n5eV5/dprrwXbffDBBzW2T6h9mo245ZZbZtzuzTff9Foz7oCastlmm3kd59gNHz68pncH/2Enn3yy15pFWBs6d+4cPN5iiy281n3TOs74x3/PjBkzgsea8ar513o/kr/++qta96F58+ZeLyij9t13363W34vs0bZtW68PO+ywjNtNmzbN64kTJy7VfcJ/399//+21ZhFrfcEFF/zr37PWWmt5rffL0fH2vPPO+9e/B8uWV1991WsdmzTH3yzM3s+Uf62vZWZ22mmnef3ss896ve6663qtWdZm4TEnlj3NmjXzOj5n0Ps5XX755V5feumlXt9xxx1Bm1GjRnmtmezjx4/3ety4cRn3Z6ONNvJar8sx92avkpKS4LHeh6Rx48Ze631a9f6tZmZ//vmn17/88ovX2of1WoqZ2TbbbLPY+3rXXXd5ffHFF3ut90epDfzFPwAAAAAAAAAAWYQL/wAAAAAAAAAAZJHlPuqnqKjI67333tvrOXPmeB3HtsydO3fp7xhqVdOmTb3WJToaARXTZbUzZ85cKvsFxFq2bOn1Tjvt5PU333wTbPfkk0/W2D7hvy+O16kJulS4devWXusYuyBTpkzxmnn4vy9elvv999973bVrV6+fe+45r2+66abF/j0bb7xx8FijL9ZYYw2vM8UYmNV+3BX+u/R4sG7dzH8v9corr9TE7gABjdbQMU5jhHTuxPJBY/MOOuggr+PYz0aNGqVtf8stt3gdR1KVlpZ6PWLECK81YmOvvfYK2qy99tpe67EAlg033HCD1z169FikNjpfnnrqqcHP4sf/ho5vGrtsZnbIIYdU2+/Bf5dG6Og4tCQefPDB4HGmqB+NM42/E/fff7/X8+fP/1f7U534i38AAAAAAAAAALIIF/4BAAAAAAAAAMgiy33UT8+ePb3eYostvH7xxRe9fv/992t0n1D7zj33XK+33nrrjNs99dRTXseRUEBNOOaYY7xu3ry51y+88EIt7A2Q2SWXXOL1aaedtkhtfvrpJ6+PPvpor3/55Zdq2y/UDJ0j69Sp43XHjh29Hjp06GK/7tSpU4PHGnex4oorLtJr6LJcQHXr1i3t87q03MzszjvvrIG9wfLuwAMPDB4fddRRXmv0wJ9//llj+4T/tldffdXreDw77LDDvNYxTSOkNNon1rt3b6833HBDr/fdd99gO309PZbDskHjUx599NHgZ4888ojXublVlxZbtWrl9YJi8v4tjRGN+/ell17q9dVXX73U9gHLtvPPP9/r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AAAAsggX/gEAAAAAAAAAyCJc+AcAAAAAAAAAIItw4R8AAAAAAAAAgCySNTf3vfHGG624uDh4rn79+ontDj300LTt4xsBl5WVZbxJIWBm9s4771iDBg2C5z766KPEdnvuuWfa9qeddlriubKyMuvXr1/17CCy0vnnn29FRUXBc19++WViuzvuuCNt+7322ivx3Ny5c+2xxx6rnh1EVjr99NOtsLAweC7dzS232GKLjO1VWVmZ3XTTTdW3g8g6ffv2TYx1M2bMSGx35plnpm2f7qa/c+bMsV9++aV6dhBZKd1YN23atMR2gwcPTtt+++23Tzw3d+7ctDdqBVJGjRqVOG+95557EttlOrY75ZRTgsecx2Jhzj///MRYN3/+/MR2PXr0SNu+T58+iedKSkrsggsuqJ4dRFa68847E9fsxo8fn9juvPPOS9v+wgsvDB6XlZVZ//79q28HkXWGDh1q9erVC54bM2ZMYrtevXqlbd+tW7fEc3PmzLE777yzenawhvAX/wAAAAAAAAAAZBEu/AMAAAAAAAAAkEW48A8AAAAAAAAAQBbhwj8AAAAAAAAAAFmEC/8AAAAAAAAAAGSR3Nregepy/vnnW9264f/HmDx5cmK7ww47LG37ddddN3hcUlJSfTuHrLT55ptbnTp1gufuv//+xHafffZZ2vYNGjRIPDd9+nTr169ftewfstM111yT6HcPPfRQYrv8/Py07QcMGJB4bvr06fbYY49Vy/4hO911112JOfbQQw9NbPfEE0+kbf+///0veJybmzWHH1hK+vXrl+hzLVu2TGx3xhlnpG1fUVGReG7OnDnVs3PIWgMHDkzMsYMHD05sN3v27LTtzz333MRzM2bMsOeee656dhBZaffdd0/0uyuvvDKxXbp518zsgAMOCB7PmjXLBg4cWG37h+wzcODAxBzbt2/fxHavvvpq2vbjxo1LPJeTk1M9O4esdfzxxyfGussvvzyx3YQJE9K2nzVrVvB45syZ1r9//+rbQWSd4447LjHWff/994nt/v7777Ttt9tuu8Rzs2bNsjvvvLN6drCG8Bf/AAAAAAAAAABkES78AwAAAAAAAACQRbjwDwAAAAAAAABAFuHCPwAAAAAAAAAAWYQL/wAAAAAAAAAAZJHc2t6B6jJ//nyrqKgInhs1alRiuxVXXDFt+xtuuCHxesCCzJs3L3FX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1szg0047zWvNNzcL+4rmD2vWdXxPE81s7dWrl6UT9yHNV9Qs4htuuMHrOIO5f//+XuvcoON/nPl6ySWXkHmdRqdOnayoqCi471CcYa+fv85dmvGrmfxmYc70iiuumPa1NcvYLBxHNZNd+6x+N8zCLH/tWzq+/P7770EbvR+J3u/plVde8TqeYw877DCvtZ9rznKceZ26PwdzbNJuu+1mBQUF9vrrr/tzerxtFmYJ67GU3hsifm9//PFHrzUvVu/fpPOjWXg+oX1F7/ET3ydCj6c0u1vHIM0yNgvPb/RcSXOJ9Xkzs/32289rHdf1/Yjvm5LKm2WOTerWrZsVFxfbM888489tv/32wTY69uj9RTSzOL5fjN5vR/udjl1xjr5up/em0Lx37RtmYab2Zptt5rV+D+L7ROg5hd7b6f777/c67ndHHnmk1zpO67wa36tu+PDhzLFpnHfeeVZUVBTkQu+5557BNt9++63XOh5tuummXsf5/Pfdd5/X2hf0uFzv3WUW9m29142eJ1x33XVBG53bO3fu7HWmY0SzyvE9RbOt9Z528TmpHgvqvTH0uCC+984tt9xiZsyx6Zx77rlWr149u+222/y5OMNev6963qbnu/Fnq/cL1DlNzw3iPHM9ntKf6fUcvXZmFvY7vR6j59jxeaz2O/1O6Xflf//7X9CmT58+afdN58/4nOrcc8+lz2Vw7rnnWnFxsd17773+XPzZ6nUOvRay++67e63Xv8zCHH29bqf3/YrPFfU6tL6ejnc6XpqFY6aex+oxV3weu++++3qt10JuuummtK9rVnlOmqL3OdBjjvg9OPXUUxer3/EX/wAAAAAAAAAAZBEu/AMAAAAAAAAAkEXqVFRUVCxJw+nTp1ujRo2sU6dOlpeXF0TjrLzyysG2umTi+eef91qXzOjyG7PMUSsfffSR17rM2ixcCvfzzz97rUuFX3311aCNLivTJcS6NDcnJydoU1hY6LUuidKoF12iaRZGc6y77rpea7xQvAS4VatWVlJSYieddJJNmzbNGjZsaMuzVJ9r37695eXlBe+HLuUyM9tkk0281qWr+rnGy850WY72pRtvvNHr8847L2ijS2zfffddr3XJ5rhx44I29evX91r7jC7LjOMOdJmPLqtdaaWVvNb+axb2QV1Spd8n3X+zquVyM2fOtN13351+Z1X9rk2bNpaT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\n",
      "text/plain": [
       "<Figure size 2000x400 with 30 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_reconstructions(model)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "xhCiHP7P2uil"
   },
   "source": [
    "## 1. Exercise: Stacked Autoencoder\n",
    "\n",
    "Now you will code an autoencoder where both the encoder and the decoder are multilayer perceptron (MLP). You can take for the encoder a first hidden layer with dimension 128, a second one with dimension 64 and then the code of dimension 32. For the decoder, you can take the same sequence of dimensions in reverse order."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "SrTmxg7z2uim"
   },
   "outputs": [],
   "source": [
    "class DeepAutoEncoder(nn.Module):\n",
    "    def __init__(self, input_dim, encoding_dim):\n",
    "        super(DeepAutoEncoder, self).__init__()\n",
    "        self.encoder = nn.Sequential(\n",
    "            nn.Linear(input_dim, 128),\n",
    "            nn.ReLU(),\n",
    "            nn.Linear(128, 64),\n",
    "            nn.ReLU(), \n",
    "            nn.Linear(64, encoding_dim), \n",
    "            \n",
    "        )\n",
    "        self.decoder = nn.Sequential(\n",
    "            nn.Linear(encoding_dim, 64),\n",
    "            nn.ReLU(),\n",
    "            nn.Linear(64, 128),\n",
    "            nn.ReLU(), \n",
    "            nn.Linear(128, input_dim),\n",
    "        )\n",
    "        \n",
    "    def forward(self, x):\n",
    "        x = self.encoder(x)\n",
    "        x = self.decoder(x)\n",
    "        return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Bm_n3sI92uiq"
   },
   "outputs": [],
   "source": [
    "input_dim = 784\n",
    "encoding_dim = 32\n",
    "\n",
    "model = DeepAutoEncoder(input_dim, encoding_dim)\n",
    "model = model.to(device)\n",
    "optimizer = optim.Adam(model.parameters())\n",
    "loss_fn = torch.nn.MSELoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "8VNi4vtk2uit",
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 0 [0/60000 (0%)]\tLoss: 0.119610\n",
      "Train Epoch: 0 [25600/60000 (43%)]\tLoss: 0.045380\n",
      "Train Epoch: 0 [51200/60000 (85%)]\tLoss: 0.033857\n",
      "Train Epoch: 1 [0/60000 (0%)]\tLoss: 0.032010\n",
      "Train Epoch: 1 [25600/60000 (43%)]\tLoss: 0.027945\n",
      "Train Epoch: 1 [51200/60000 (85%)]\tLoss: 0.027066\n",
      "Train Epoch: 2 [0/60000 (0%)]\tLoss: 0.025796\n",
      "Train Epoch: 2 [25600/60000 (43%)]\tLoss: 0.023437\n",
      "Train Epoch: 2 [51200/60000 (85%)]\tLoss: 0.023262\n",
      "Train Epoch: 3 [0/60000 (0%)]\tLoss: 0.022312\n",
      "Train Epoch: 3 [25600/60000 (43%)]\tLoss: 0.021274\n",
      "Train Epoch: 3 [51200/60000 (85%)]\tLoss: 0.020426\n",
      "Train Epoch: 4 [0/60000 (0%)]\tLoss: 0.020893\n",
      "Train Epoch: 4 [25600/60000 (43%)]\tLoss: 0.020597\n",
      "Train Epoch: 4 [51200/60000 (85%)]\tLoss: 0.021285\n",
      "Train Epoch: 5 [0/60000 (0%)]\tLoss: 0.019822\n",
      "Train Epoch: 5 [25600/60000 (43%)]\tLoss: 0.020667\n",
      "Train Epoch: 5 [51200/60000 (85%)]\tLoss: 0.018440\n",
      "Train Epoch: 6 [0/60000 (0%)]\tLoss: 0.018800\n",
      "Train Epoch: 6 [25600/60000 (43%)]\tLoss: 0.018502\n",
      "Train Epoch: 6 [51200/60000 (85%)]\tLoss: 0.017991\n",
      "Train Epoch: 7 [0/60000 (0%)]\tLoss: 0.018563\n",
      "Train Epoch: 7 [25600/60000 (43%)]\tLoss: 0.017606\n",
      "Train Epoch: 7 [51200/60000 (85%)]\tLoss: 0.017728\n",
      "Train Epoch: 8 [0/60000 (0%)]\tLoss: 0.017530\n",
      "Train Epoch: 8 [25600/60000 (43%)]\tLoss: 0.018341\n",
      "Train Epoch: 8 [51200/60000 (85%)]\tLoss: 0.017135\n",
      "Train Epoch: 9 [0/60000 (0%)]\tLoss: 0.018403\n",
      "Train Epoch: 9 [25600/60000 (43%)]\tLoss: 0.017031\n",
      "Train Epoch: 9 [51200/60000 (85%)]\tLoss: 0.017357\n"
     ]
    }
   ],
   "source": [
    "train_model(model, loss_fn,data_loader=train_loader,epochs=10,optimizer=optimizer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "nraDkOnC2uiv"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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2ee8+eabPrbPbETftssuu/hY+27n8s/9POqoo3xcrVZ9fMMNN+TWefrpp33ck/pO/uIfAAAAAAAAAIASYeAfAAAAAAAAAIAS6TGlfn7wgx/kXu+4444drmOnIa5YscLH9ZrCM2/ePB/rd5g4cWJdPh8bzr333utjnfKjebV06dLC2z3rrLNyr/v169eJvQPWzx577OFjLV+hU9ABdd111+Ve67TGzvibv/mbmvHs2bNzy33uc5/zsZZgQTkdffTRPj700ENz79lrw66y5ZZb+ljL8W266aY+ptQPVP/+/XOvL7300g7XsaX1WltbN+g+oefYb7/9fKzlAdSVV15Zp73JGzVqlI+1HOldd93lY64Ny0NLqfznf/5n7r3Bgwf7ONQe/fSnP8291nKhnbkvRnlpmRQt26OlT5xz7qGHHvLxmjVrfLx8+XIf22suvXf905/+5OMpU6b4+Lnnnsut8/LLL/t41apVwW2jbwiVPdZ7UlvqJ8XBBx+ce93c3Ozjt956y8dPPfWUj21Zq7Vr1xb+3KL4i38AAAAAAAAAAEqEgX8AAAAAAAAAAEqkx5T6+fKXv5x7PWbMGB+/8cYbPt5zzz19rNMonctPpTzkkEN8PHfuXB+Hnlhv6RSNxYsX594bOnRozXXmzJnjY0r99G629ERRF110kY9322234HI6Jc1OTwM2pIsvvtjHmt+0VVAPPPCAjyuV9f/bgCVLlvh45cqVPt5hhx18vNNOO+XWef75533c2Ni43vuAnken2956660+nj59em65//iP/6jL/nzmM5+py+egPPbee+/c6/3337/mcno/8eCDD3bpPqH7DBkyJPf6b//2b2su9w//8A8+tveXXUVL+zjn3COPPFJzOS31o2VO0bt961vf8vGgQYMKr6/lF51z7vjjj/fx1Vdf7WMtCVSPshXoGUIlePbZZx8fn3766cH1J0yY4GMd25s1a1Zuue23397HWmp7fcuQolx0DPmCCy7Ivadt2Sc+8Yma67/zzju5108++aSPZ86c6WMdV7FlaQ866CAfa5t74okn+njy5Mm5dW644Yaa+7Mh8Rf/AAAAAAAAAACUCAP/AAAAAAAAAACUSI8p9fOXv/wl+jqjTwG3ttxySx+PHTvWxzr94sADD0zan9WrV/t46tSpufe09JBO37BT1NG3nHzyyT6+8sorfbzRRhvl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AAAAAAAAUCLU+Bcnnniij/v16+fjv/zlL7nlnn322brtE7qf1kbcb7/9gss99thjPtYad0C97LPPPj62dezuuOOOeu8OerCvfvWrPtZahN3hlFNOyb3ed999faz7prGt8Y+eZ8WKFbnXWuNV61/r80iWLl26QfdhyJAhPo7VqH3qqac26OeiPD75yU/6+Oyzzw4ut3z5ch/PmzevS/cJPd+yZct8rLWINb7kkkvW+3N23nlnH+vzcrS9/da3vrXen4Pe5ZFHHvGxtk1ax9+5fO39UP1r3ZZzzl1wwQU+vu+++3y86667+lhrWTuXv+ZE77P11lv72N4z6POc/u3f/s3Hl112mY9vuOGG3DoTJkzwsdZknzZtmo9fe+214P6MGjXKxzouR99bXqtWrcq91ueQbLHFFj7W57Tq81udc27JkiU+njNnjo81h3UsxTnnDjrooML7euONN/r4O9/5jo/1+Sjdgb/4BwAAAAAAAACgRBj4BwAAAAAAAACgRPp8qZ9NNtnEx8cff7yP165d62NbtmXdunVdv2PoVoMHD/axTtHRElCWTqtduXJll+wXYG277bY+HjdunI/feuut3HJ33XVX3fYJPZ8tr1MPOlV4r7328rG2sTGLFy/2Mf1wz2en5U6fPt3Hf/u3f+vj+++/38fXXntt4c8ZPXp07rWWvthxxx19HCpj4Fz3l7tCz6XXg5VK+O+l/vznP9djd4AcLa2hbZyWEdK+E32Dls377Gc/62Nb9nPgwIE11//pT3/qY1uSavXq1T6+8847fawlNo477rjcOiNHjvSxXgugd/jhD3/o42984xtJ62h/+U//9E+59+zr9aHtm5Zdds65s846a4N9DnouLaGj7VBn/O53v8u9DpX60XKm9jfx29/+1sctLS3rtT8bEn/xDwAAAAAAAABAiTDwDwAAAAAAAABAifT5Uj8XXXSRj/fdd18fP/TQQz5+5pln6rpP6H7f/OY3fXzggQcGl7v77rt9bEtCAfXw93//9z4eMmSIjx988MFu2Bsg7NJLL/XxBRdckLTOrFmzfPzFL37Rx3PmzNlg+4X60D6yoaHBxyeddJKPb7311sLbfe+993KvtdzFVlttlbQNnZYLqDPOOKPmv+vUcuec++Uvf1mHvUFfd+aZZ+Ze/5//8398rKUHlixZUrd9Qs/2yCOP+Ni2Z2effbaPtU3TElJa2se66qqrfLznnnv6+NRTT80tp9vTazn0Dlo+5bbbbsu99/vf/97HTU1tQ4sjRozwcaxM3vrSMqI2vy+77DIff+973+uyfUDvdvHFF/s4tTzUV7/6VR935t6lO/AX/wAAAAAAAAAAlAgD/wAAAAAAAAAAlEifK/WjU8qdc+7yyy/38QcffODjK6+8sm77hJ4n9Yn1F154oY9XrlzZVbsDBO2www41/33ZsmV13hOgvQceeMDHu+++e+H1X3/9dR8/9dRTG2Sf0D3efPNNH3/2s5/18dixY328yy67FN7uHXfcEXzvpptu8vE555wTXG7VqlWFPxflNXz4cB9rKQw1b9683OuJEyd26T4Bzjl3wgknBN+77777fPzSSy/VY3fQy2jZn1qvi9K+U0vA2FI/Rx99tI8HDRrk46VLl67X56M+WlpafGz7ut12263mOp/61Kd83K9fv9x7V1xxhY9jJZWL0jKSzjm3//77b7Bto1zOO+88H2tJKC1XZb322ms+vvPOO7tmx7oQf/EPAAAAAAAAAECJMPAPAAAAAAAAAECJMPAPAAAAAAAAAECJ9Ika/4MHD/bxT37yk9x7jY2NPtZaxBMmTOj6HUOvp3UK161bV3j95cuX11zf1sIbOHBgzfW32GILH6c+l0Dr9F1yySW59z766KOkbaDnOPnkk2v++7333lvnPUFvonUwK5XafwMQqyV84403+njYsGHB5XTb1Wq1yC4655w75ZRTCq+D3mXSpEk14w1hxowZScuNHj3ax1OmTNmg+4De57DDDvNxqH28++6767Q3QBvbL3/44Yc+/tGPflTv3QG822+/3ce2xv/nPvc5H+vz8XimYnn95S9/Cb6nz3bSGv/Nzc0+/s1vfpNb51e/+pWP//Vf/9XHoefwANZBBx3kY+0vN9988+A6+gzPr371qz5es2bNBt67rsdf/AMAAAAAAAAAUCIM/AMAAAAAAAAAUCKlLfWjJXweeughH++000655aZPn+7jyy+/vOt3DKXyyiuvrNf6//u//+vjd99918fbbLNNbjmdIrkhLViwIPf66quv7pLPwYb1yU9+0sfbbrttN+4Jeqvrr7/exz/4wQ9qLnPfffflXodK9aSW8Eld7oYbbkhaDuiIlrTS2KK8D5SWCFXvvfeej3/84x/Xa3fQx2l5AXt/sGjRIh+/9NJL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AACgRBj4BwAAAAAAAACgRBj4BwAAAAAAAACgRBj4BwAAAAAAAACgRBj4BwAAAAAAAACgRJq6ewdqqVarbv78+W7AgAGuoaGhu3cnSWtrq1uxYoUbNmyYq1T47ym9DTmH7kDeod56Y845R971dr0x78i53o+8Q731xpxzjrzr7Xpj3pFzvR95h3oj5zqvRw78z58/340YMaK7d6NT5s6d64YPH97du4GCyDl0B/IO9dabc8458q636s15R871XuQd6q0355xz5F1v1Zvzjpzrvcg71Bs513k9cuB/wIABzjnn9tprL9fY2Njh8rfeemuh7V9zzTXJy950002Ftp3tO3qX7Lydd955bqONNupw+e9///uFtn/hhRcmL/v2228nLdfc3OwmTpxIzvVi2bm74IILXP/+/Ttc/rvf/W6h7Z999tnJy06dOjVpuZaWFjdjxgzyrpfKztv48eNdU1PHlwDf/va3C23/xhtvTF72iSeeSF62Wq26BQsWkHe9VHbehgwZkvTXLvfee2+h7V9++eXJyz7++ONJy7W2trrVq1eTc71Ydu6+8pWvJPWxV111VaHtf+ELX0he9q233kparqWlxU2bNo2866Wy8zZmzJike9g777yz0PbPPffc5GUfffTRQtt2jvvY3io7byeccILr169fh8vffPPNhbb/pS99KXnZojlNzvVe2bnbcccdk67t7rvvvkLb/8d//MfkZVOv7TLkXe9UtI/9wx/+UGj7Re4nUvO5tbXVffDBB92ecz1y4D+bttHY2Jh0QosexJSB3c7qLVNOkJedt4022ijp5vATn/hEoe0XybmUwThFzvVe2bnr379/l+RdysV/JqWtVeRd75Sdt6ampqT82HzzzQttv0hb15npjuRd75Sdt0qlknTei+ZdkbauaA6Rc70XfSzqreg9bNGcK3qPUBR51ztl561fv35J7VJXtnVFkXO9V9Fru6Jjdl3Z3pF3vVNPGifubfcTFLYCAAAAAAAAAKBEGPgHAAAAAAAAAKBEGPgHAAAAAAAAAKBEGPgHAAAAAAAAAKBEGPgHAAAAAAAAAKBEGPgHAAAAAAAAAKBEGPgHAAAAAAAAAKBEmrp7B2JmzJjhGhoaOlzuvPPOK7Tdd955J3nZ1tbWpOU++OADN3DgwEL7gZ7niSeecI2NjR0u98wzzxTa7qJFi5KXvfPOO5OW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\n",
      "text/plain": [
       "<Figure size 2000x400 with 30 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_reconstructions(model)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "XIWLi9Ps2uix"
   },
   "source": [
    "Replace the `MSELoss` with a `BCEWithLogitsLoss` for each pixel. Note the unusual use of `BCEWithLogitsLoss`! You can have a look at the definition of [Cross Entropy](https://en.wikipedia.org/wiki/Cross_entropy)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 0 [0/60000 (0%)]\tLoss: 0.693661\n",
      "Train Epoch: 0 [25600/60000 (43%)]\tLoss: 0.259161\n",
      "Train Epoch: 0 [51200/60000 (85%)]\tLoss: 0.234709\n",
      "Train Epoch: 1 [0/60000 (0%)]\tLoss: 0.224174\n",
      "Train Epoch: 1 [25600/60000 (43%)]\tLoss: 0.189666\n",
      "Train Epoch: 1 [51200/60000 (85%)]\tLoss: 0.173613\n",
      "Train Epoch: 2 [0/60000 (0%)]\tLoss: 0.169985\n",
      "Train Epoch: 2 [25600/60000 (43%)]\tLoss: 0.159172\n",
      "Train Epoch: 2 [51200/60000 (85%)]\tLoss: 0.151550\n",
      "Train Epoch: 3 [0/60000 (0%)]\tLoss: 0.155992\n",
      "Train Epoch: 3 [25600/60000 (43%)]\tLoss: 0.146212\n",
      "Train Epoch: 3 [51200/60000 (85%)]\tLoss: 0.143518\n",
      "Train Epoch: 4 [0/60000 (0%)]\tLoss: 0.141305\n",
      "Train Epoch: 4 [25600/60000 (43%)]\tLoss: 0.133918\n",
      "Train Epoch: 4 [51200/60000 (85%)]\tLoss: 0.132663\n",
      "Train Epoch: 5 [0/60000 (0%)]\tLoss: 0.133407\n",
      "Train Epoch: 5 [25600/60000 (43%)]\tLoss: 0.128088\n",
      "Train Epoch: 5 [51200/60000 (85%)]\tLoss: 0.127596\n",
      "Train Epoch: 6 [0/60000 (0%)]\tLoss: 0.125760\n",
      "Train Epoch: 6 [25600/60000 (43%)]\tLoss: 0.126033\n",
      "Train Epoch: 6 [51200/60000 (85%)]\tLoss: 0.126300\n",
      "Train Epoch: 7 [0/60000 (0%)]\tLoss: 0.122098\n",
      "Train Epoch: 7 [25600/60000 (43%)]\tLoss: 0.122756\n",
      "Train Epoch: 7 [51200/60000 (85%)]\tLoss: 0.122457\n",
      "Train Epoch: 8 [0/60000 (0%)]\tLoss: 0.119044\n",
      "Train Epoch: 8 [25600/60000 (43%)]\tLoss: 0.118506\n",
      "Train Epoch: 8 [51200/60000 (85%)]\tLoss: 0.117217\n",
      "Train Epoch: 9 [0/60000 (0%)]\tLoss: 0.116393\n",
      "Train Epoch: 9 [25600/60000 (43%)]\tLoss: 0.118367\n",
      "Train Epoch: 9 [51200/60000 (85%)]\tLoss: 0.113491\n"
     ]
    }
   ],
   "source": [
    "model = DeepAutoEncoder(input_dim, encoding_dim)\n",
    "model = model.to(device)\n",
    "optimizer = optim.Adam(model.parameters())\n",
    "loss_fn =torch.nn.BCEWithLogitsLoss()\n",
    "train_model(model, loss_fn,data_loader=train_loader,epochs=10,optimizer=optimizer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABf4AAAFMCAYAAACatK3ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABH2UlEQVR4nO39d4AX1b0//s8ivdiwcgF7x15ijBqx94qKGvVqbLEkGqPRaKxRbzRq7O171UAsGEWjmCBq7IRriyhYEIwgYi9IL+7+/siPw5n97LIzy+67zD4efz2HOTPvV2ZP3uX4nte7pq6uri4BAAAAAAAKoV25CwAAAAAAAFqOhX8AAAAAACgQC/8AAAAAAFAgFv4BAAAAAKBALPwDAAAAAECBWPgHAAAAAIACsfAPAAAAAAAF0r65B9bW1iZTpkxJevTokdTU1LRkTUTq6uqSadOmJb169UratWvb/53GnCsd824h8650zLuFzLvSMOcWMudKx7xbyLwrHfNuIfOuNMy5hcy50jHvFjLvSsOcSzPvSiPPvGv2wv+UKVOSPn36NPdwcvroo4+S3r17l7uMsjLnSs+8M+/Kwbwz70rNnDPnysG8M+/Kwbwz70rNnDPnysG8M+9KzZz7D/OutLLMu2b/56gePXo091CawfV2DcrBNXcNysE1dw1KzfV2DcrBNXcNysE1dw1KzfV2DcrBNXcNSs31/g/XobSyXO9mL/y7ZaO0XG/XoBxcc9egHFxz16DUXG/XoBxcc9egHFxz16DUXG/XoBxcc9eg1Fzv/3AdSivL9daACgAAAAAACsTCPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIFY+AcAAAAAgAJpX+4CoJr86le/Sm136dIl5I022ijkAQMGNHqOW265JeR//vOfIQ8ePLglSgQAAAAA2jjf+AcAAAAAgAKx8A8AAAAAAAWi1Q80YciQISEvqoVPrLa2ttF9J554Ysg777xzyM8991zIkyZNylMi5LL22muH/O6774b8i1/8IjXuhhtuKFlNVJdu3bqFfNVVV4UcP78lSZK89tprIR988MEhT5w4sRWrAwAAimyZZZYJuW/fvpmOiT+DnHHGGal9Y8aMCXncuHEhjx49urklQkXwjX8AAAAAACgQC/8AAAAAAFAgWv1AA5rT3idumfLEE0+EvPrqq6fG7bPPPiGvscYaIR9xxBEhX3HFFdmLhZw23XTTkOO2VJMnTy5HOVShlVdeOeTjjz8+5PptzjbffPOQ995775BvuummVqyOarXZZpultocOHRryqquu2mqPu+uuu4b8zjvvhPzRRx+12mNSXPH7vEcffTTkU089NTXu1ltvDfn7779v/cIouxVWWCHkBx54ILVv5MiRId9+++0hf/jhh61eV5IkyVJLLRXy9ttvn9o3fPjwkOfNm1eSegAW2GuvvULed999Q95hhx1CXnPNNTOdK27hs8oqq6T2derUqcFjllhiiUznhkrlG/8AAAAAAFAgFv4BAAAAAKBAtPqB/78tttgi5AMOOKDBMWPHjk1tx7eaffnllyFPnz495I4dO6aOGTVqVMgbb7xxyD179sxZMTTPJptsEvKMGTNCfvjhh8tQDdVi+eWXD/lPf/pTGSuhqHbbbbfUdmO3XLe0uDXLscceG/LAgQNL8vhUv/g93M0339zgmBtvvDG1feedd4Y8a9as1imMsltmmWVCjj9HxK11kiRJPvvss5DL0d7ntddeCzl+vU+SdNu+8ePHt35hlMSSSy4Zctxmtl+/fiHvvPPOqWO0eqIlxW2PTznllJDjNqJJkiRdunQJuaamZrEec+21116s46Ea+cY/AAAAAAAUiIV/AAAAAAAoEAv/AAAAAABQIBXT43/AgAGp7biv15QpU0KePXt2yPfcc0/qmE8//TRk/QfJa+WVVw457h0X9+Os33/4k08+afK8Z555Zmp7/fXXb3Dc448/nqlOaI64X+epp54a8uDBg8tRDlXg5z//eWp7//33D3mrrbbKfb7tt98+5HbtFn7vYPTo0alxzz//fO5zU73at1/4VnTPPfcsSw1xb+tf/vKXIXfr1i3k+PdQoL74+a13794NjrnvvvtS2/FnGoplueWWC3nIkCEhL7vssiHX/y2I0047rfULq+f8888PebXVVgv5xBNPTI3zuboYjjjiiNT2ZZddFnKfPn0aPCb+HYAkSZKvvvqq5QujzYpfL3/xi1+02uO8++67Idf/zUbatjXXXDPk+LU7SdK/+7nDDjuEXFtbG/Ktt96aOuall14KuZJeO33jHwAAAAAACsTCPwAAAAAAFEjFtPq58sorU9urrrpqk8fUvw1x2rRpIZfqFp7JkyeHHP9vePXVV0vy+LScxx57LOT4lp94Xn399de5zztw4MDUdocOHZpRHSyeddddN+S4fUV8CzrErr322tR2fFtjcxx44IEN5okTJ6bGHXrooSHHLVgopv79+4f8wx/+MLWv/nvD1rLMMsuEHLfj69q1a8ha/RDr1KlTavu8885r8pj6rfXq6upatCYqx2abbRZy3B4gdskll5SomrQNNtgg5Lgd6cMPPxyy94bFEbdS+eMf/5ja17Nnz5Abez664YYbUttxu9DmfC6muOI2KXHbnrj1SZIkyfDhw0OeM2dOyFOnTg25/nuu+LPriBEjQh4zZkzI//d//5c65l//+lfIs2bNavTctA2NtT2OP5PWb/WTxQ9+8IPU9vz580N+7733Qn7xxRdDrt/Wau7cubkfNy/f+AcAAAAAgAKx8A8AAAAAAAVSMa1+jj/++NT2RhttFPI777wT8nrrrRdyfBtlkqRvpdx6661D/uijj0Ju7Bfr64tv0fjiiy9S+1ZeeeUGj5k0aVLIWv1Ut/qtJ/I666yzQl577bUbHRffklb/9jRoSWeffXbI8fz2XEXsb3/7W8jt2i3+dwO++uqrkKdPnx7yKqusEvJqq62WOubll18OeYkllljsGqg88e229913X8gTJkxIjbv88stLUs9+++1XksehODbccMPU9uabb97guPjzxN///vdWrYnyWWGFFVLbBx10UIPjfvrTn4Zc//Nla4lb+yRJkjz11FMNjotb/cRtTqluv/rVr0Jedtllcx8ft19MkiTZfffdQ77ssstCjlsClaJtBZWhsRY8G2+8ccgHHHBAo8ePGjUq5Hht78MPP0yN69u3b8hxq+3FbUNKscRryKecckpqX/xctuSSSzZ4/Mcff5zafuGFF0L+97//HXK8rlK/Le1WW20Vcvycu+eee4Y8evTo1DG33nprg/W0JN/4BwAAAACAArHwDwAAAAAABVIxrX6efvrpRW4vEP8KeH3LLLNMyJtssknI8e0XW265ZaZ6Zs+eHfK4ceNS++LWQ/HtG/VvUadt2XvvvUO+5JJLQu7YsWNq3Oeffx7yueeeG/LMmTNbsTramlVXXTW1vcUWW4QcP6fNmDGjVCVRoX784x+HvM4664Rc//bZLLfT1r9VMb7td+rUqSHvuOOOIZ933nmNnu9nP/tZyLfcckuTj091OP/880OObxOPWwgkSbo9VEuq3+4g/v+A28bJorFWLvXFz4EU19VXX53a/slPfhJy/Dn0L3/5S8lqWmC77bZLba+44ooh33333SH/+c9/LlVJtLK4neIxxxzT6Lg333wz5M8++yzknXfeudFjllpqqZDjNkL33HNPyJ9++mn2Yqkq9dc17r333pDj9j5xq8bG2ovVV7+9TyxuqQ2x2267LeS4rdRyyy3X6DHxWvNbb70V8m9+85vUuHhNOLbNNtuEHH9WTZIkufPOO0OO16Tj59ibbropdcxDDz0Ucmu1AfSNfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAqpsd/S/jmm29CfuaZZxoc09hvByxK/T6e8W8JxD2hhgwZkvvcFEfcQ71+/7tYPE+ee+65Vq2JtivuWV1fa/WOo3rEvwFx//33h7yofoixiRMnhhz3Jbz44otT4xr77ZL4+BNOOCG1b/nllw/5yiuvDLlz584h33jjjalj5s2bl6VsymjAgAEh77nnniGPHz8+5FdffbUktdT/XYm4r/+zzz4b8rfffluSeqg+22+/faP75s6dG/KifsOE4qirq0ttx88pU6ZMCTmeGy2tS5cuIcd9ik8++eTUuLjWY489ttXqoXzivtI9evQI+YUXXkiNiz8rxO+xDjvssJDr97xeY401Ql5ppZVC/utf/xryHnvskTrm66+/zlo6Fah79+4hx79PmCTp3zj88ssvQ/7DH/4Qst8xZHHFz09JkiRnn312yMcdd1zINTU1Iddf74h/K+6qq64KuTm/d9izZ8+Ql1hiidS+iy66KOT492nj314pB9/4BwAAAACAArHwDwAAAAAABVKoVj8taYUVVgj55ptvTu1r127hfy+55JJLQnYbW9vzyCOPhLzrrrs2OGbQoEGp7fPPP781S4IkSZJkww03bHRf3D6Ftql9+4Uv/1nb+8StyQYOHBhyfGtvVnGrnyuuuCK175prrgm5a9euIcfz9tFHH00dM2HChNw1UFoHH3xwyPHftf57rNYSt7c64ogjUvu+//77kH/3u9+FrIUUsW222abBXF982/gbb7zRmiVRBfbaa6+QR4wYEXL9VmJxG4Ks4lYtO+ywQ8hbb711o8c8+OCDuR+H6tKpU6eQ49ZO1157baPHzJ49O+S77ror5Pi1O0mSZPXVV2/w+LidS2u2tKL09t9//5DPOeec1L5JkyaFvN1224U8derUVq+LtiN+fUuSJDnrrLNCjtv7fPzxxyHXb9f+8ssv537cuI1Pnz59Qo7X9/72t7+ljonbwsfiOgcPHpzaV4rWor7xDwAAAAAABWLhHwAAAAAACkSrn0accsopIS+//PKpfd98803I7733XslqovxWXnnl1HZ8q3d8W2Xc+iJuG5AkSTJ9+vRWqo62Lr61+5hjjknt+9e//hXyk08+WbKaqF6vvvpqavvYY48NuTntfRpTv21P3IZlyy23bLHHobSWWmqp1HZjrSea096iOU444YSQ67e3euedd0J+5plnSlIP1Sfr81Gp5jSV47rrrktt9+/fP+RevXqFvP3224cc3/afJEmy77775n7c+BxxS5fYBx98kNr+zW9+k/txqC6HHXZYg/8et51KknTL2sZsscUWmR5z1KhRIfusWyyLam0Xf76cPHlyKcqhDYpb7iRJukVnbP78+SH/4Ac/SO0bMGBAyOuuu26Dx8+aNSu1vd566zWY48/BK664YmNlp3z22Wch118fLEVrUd/4BwAAAACAArHwDwAAAAAABaLVT+RHP/pRyPV/sTwW/7L5mDFjWrMkKsxDDz2U2u7Zs2eD4/785z+HPGHChFatCRbYeeedQ1522WVT+4YPHx7y7NmzS1YTla9du4a/A1D/FsnWUr/dQVxPY7VddNFFqe0jjzyyxeti8cTt75IkSf7rv/4r5Pvuu6/U5SRrrLFGo/u8lyOLRbW8+Pbbb0PW6qftee2111LbG220UcibbLJJyLvvvnvIZ511VuqYL774IuQ//elPmR538ODBIY8ePbrBMSNHjkxt+1xSfPFrbNxCqn67srjdxYYbbhjyAQccEPIyyyyTOiZ+rov3HX/88SHH8zJJkuTtt9/OWjoVKG6RUl/8nHbhhReG/Ne//jXkN954o1Xqou34xz/+kdqO23LG6x99+/YN+frrr08d01g7vLhtUP2WQo1ZVHuf2trakB9++OGQf/7zn4f8ySefZHqcluQb/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIHo8R/Zc889Q+7QoUPITz/9dGrcP//5z5LVRPnFvRE322yzRsc9++yzIcc97qBUNt5445Dr97F78MEHS10OFeykk04KOe5FWA777LNPanvTTTcNOa4tzvV7/FN5pk2bltqOe7zG/a/j3yP5+uuvW7SGFVZYIeRF9ah98cUXW/RxKY5tt9025MMPP7zRcVOnTg158uTJrVoTle+bb74JOe5FHOdf//rXi/04q6++esjx7+XEz7e/+tWvFvtxqC5PPfVUyPFzU9zHP0nSvfcb638dnytJkuSUU04JediwYSGvtdZaIce9rJMk/Z6T6rP88suHXP8zQ/x7ThdccEHI559/fsi33npr6phRo0aFHPdkHz9+fMhjx45ttJ4NNtgg5Hhdzmtvcc2aNSu1Hf8OydJLLx1y/Dut8e+3JkmSfPXVVyFPmjQp5HgOx2spSZIkW221Ve5ab7/99pB/85vfhBz/Pko5+MY/AAAAAAAUiIV/AAAAAAAokDbf6qdLly4h77777iHPnTs35PptW+bNm9f6hVFWPXv2DDm+RSduAVVffFvt9OnTW6UuqG+llVYKebvttgv5vffeS417+OGHS1YTla9+e51SiG8VXn/99UOOn2MX5YsvvgjZ63Dlq39b7oQJE0I+6KCDQn788cdDvuaaa3I/Tr9+/VLbceuLVVddNeTG2hgkSfnbXVG54veD7do1/n2pJ598shTlQErcWiN+jovbCMWvnbQNcdu8Qw45JOT6bT+XWmqpBo+/4YYbQq7fkmr27NkhDx06NOS4xcZuu+2WOmaNNdYIOX4vQHX4wx/+EPIvf/nLTMfEr5cnn3xyal/97cURP7/FbZeTJEkGDhzYYo9D5Ypb6MTPQ80xaNCg1HZjrX7idqb1/z9x9913h/z9998vVj0tyTf+AQAAAACgQCz8AwAAAABAgbT5Vj9nnXVWyJtuumnIw4cPD3nkyJElrYnyO/PMM0PecsstGx33yCOPhFy/JRSUwn//93+HvMIKK4T897//vQzVQOPOO++8kE855ZRMx3z44YchH3300SFPmjSpxeqiNOLXyJqampD32muvkO+7777c5/3yyy9T23G7i+WWWy7TOeLbciE2YMCABv89vrU8SZLktttuK0E1tHUHH3xwavuoo44KOW498NVXX5WsJirbU089FXL957PDDz885Pg5LW4hFbf2qe/SSy8Neb311gt53333TY2Lzxe/l6M6xO1ThgwZktp37733hty+/cKlxT59+oS8qDZ5iytuI1p/fp9//vkh/+53v2u1GqhuZ599dshZ20OddNJJITfns0s5+MY/AAAAAAAUiIV/AAAAAAAokDbX6ie+pTxJkuS3v/1tyN99913Il1xySclqovJk/cX6U089NeTp06e3VjnQqFVWWaXBf//mm29KXAn8v/72t7+FvM466+Q+/u233w75xRdfbJGaKI9333035EMOOSTkTTbZJOQ111wz93kffPDBRvf96U9/CvmII45odNysWbNyPy7F1bt375DjVhixyZMnp7ZfffXVVq0JkiRJ9thjj0b3DRs2LOTXX3+9FOVQZeK2Pw1t5xW/dsYtYOq3+unfv3/Iyy67bMhff/31Yj0+pfH999+HXP+1bu21127wmJ122inkDh06pPZddNFFIS+qpXJecRvJJEmSzTffvMXOTbEcd9xxIcctoeJ2VfWNHTs25KFDh7ZOYa3IN/4BAAAAAKBALPwDAAAAAECBWPgHAAAAAIACaRM9/nv27Bny9ddfn9q3xBJLhBz3Ih41alTrF0bVi/sUzps3L/fxU6dObfD4+r3wllpqqQaPX3rppUPO+rsEcZ++X//616l9M2fOzHQOKsfee+/d4L8/9thjJa6EahL3wWzXruHvACyql/Dtt98ecq9evRodF5+7trY2T4lJkiTJPvvsk/sYqssbb7zRYG4JH3zwQaZx/fr1C3nMmDEtWgPVZ5tttgm5sefHRx55pETVwEL1X5dnzJgR8tVXX13qciB44IEHQq7f4//QQw8NOf59PL+pWFxPP/10o/vi33aKe/zPnz8/5Lvuuit1zB133BHy6aefHnJjv8MD9W211VYhx6+X3bt3b/SY+Dc8TzrppJDnzJnTwtW1Pt/4BwAAAACAArHwDwAAAAAABVLYVj9xC5/hw4eHvNpqq6XGTZgwIeTf/va3rV8YhfLmm28u1vF/+ctfQv7kk09CXnHFFVPj4lskW9Knn36a2r7sssta5XFoWdtuu23IK620UhkroVrdcsstIV955ZUNjhk2bFhqu7FWPVlb+GQdd+utt2YaB02JW1rFuT7tfYjFLUJjX375ZcjXXXddqcqhjYvbC9T/fPD555+H/Prrr5esJqgvfo9X/33lfvvtF/KFF14Y8v333x/yuHHjWrE6KsmIESNCjtce2rdfuDR5/PHHp45Zc801Q95hhx0yPc7kyZObWSFFFLeP7dGjR4Nj4vZ5SZJuW/bSSy+1TmEl4hv/AAAAAABQIBb+AQAAAACgQArb6meNNdYIefPNN2903C9/+cuQ47Y/tG1/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XHfddaF2qsuCv9shhxySdOjQocnxU6ZMyXX+O+64I/PYkSNHZho3a9as5MQTTzTnqtiCv93222+ftG/f9NPxP/7xj1znv+KKKzKPzfJcmyRJMnv27OSCCy4w76rUgr/b5ptvnulvftJJJ+U6f79+/TKPffvttzOPnTVrVvKzn/3MvKtSC/5uBx54YKbX2DXXXDPX+ffcc8/MYz/44INM42bNmpWccMIJ5lwVW/C322GHHTK9xj711FO5zv/73/8+89jvvvsu07g5c+Ykf/jDH8y7KrXg73biiScmnTp1yjw+q/79+2ce++2332YeO3PmzOSoo44y76rUgr/bLrvskuk1Nu/fuWfPnpnHZl3Ymj17dnLJJZeYc1Vswd/uJz/5SdKxY8cmx3ft2jXX+Q888MDMY2fMmJFp3MyZM5NDDz3UvKtSC/5u6623XqbPsYccckiu82d5r7hA1vXAuXPnJrfffnvZ51xFLvwvuG1jiSWWyPQH7dKlS67zd+vWLfPYLG/aYtVyywlpC/5uHTp0yPTCledJIUnyvcHK+6JozlWvBX+79u3b555TWXTu3Dnz2LyPb95Vp/j1NcvfPO/zUffu3TOPzXvuJDHvqlXe19g8z11J0rrzzpyrXvFrbJbFsLzyzNO5c+fmOrd5V50W/N06deqU6TNk3ue6PJ9h8865JDHvqlX8GpvluS7L63Asz3pI3jltzlWvBX+7jh07ZppTedfV8ry3y8u8q05514nzPh/lWQ+ptnVija0AAAAAAKBALPwDAAAAAECBWPgHAAAAAIACsfAPAAAAAAAFYuEfAAAAAAAKxMI/AAAAAAAUiIV/AAAAAAAokPblLmBRbrjhhqR79+5Njrv77rtznXf+/PmZxz766KOZxn3//fe5aqAy3XzzzcmSSy7Z5LjDDjss13mvvPLKzGMnTZqUady8efNy1UDluvXWW5MePXo0Oe7www/Pdd5x48ZlHvvkk09mGldbW5urBirTk08+mem57vLLL8913s8//zzz2Kyvr0mS73WbynXiiSdmel9311135TrvO++8k3ns4MGDM43zGlsc119/fabX2COOOCLXeceOHZt57GOPPZZpnNfYYjjuuOMyzblBgwblOu+XX36ZeeywYcMyj507d26uOqhMgwcPzvTerlevXrnOm+dz7znnnJNpXF1dXa4aqFz9+/dPunbt2uS4l19+Odd5n3jiicxj33zzzUzjvLcrhptuuinT54kHHngg13nzPC+99NJLmcZVymdY3/gHAAAAAIACsfAPAAAAAAAFYuEfAAAAAAAKxMI/AAAAAAAUiIV/AAAAAAAoEAv/AAAAAABQIBb+AQAAAACgQCz8AwAAAABAgVj4BwAAAACAArHwDwAAAAAABWLhHwAAAAAACqR9uQtYlLFjxyZdunRpctxXX32V67w///nPM4/t1atXpnEzZ85MjjrqqFx1UHn22muvpH37pv9vscwyy+Q67+6775557Oeff55p3MyZM5NHHnkkVx1Upk033TSpqalpctzhhx+e67w333xz5rGXXnpppnGzZ89OLr/88lx1UHluuummpHPnzk2O+8tf/pLrvHfeeWfmsXmeR2fNmpU8++yzuWqh8owZMybT+7p3330313nzPDfuvPPOmcbNnj07GTFiRK46qEzbbLNNptfYvffeO9d5b7vttsxjV1999UzjZs+enVx00UW56qDyvPPOO0nXrl2bHNepU6dc5916660zj/3Xv/6Veezs2bNz1UFlOuyww5IOHTo0OS7L3IxtsMEGmcfut99+mcbNmzfP59iC+Prrr5NZs2Y1Oe7ee+/Ndd4849ddd91M46yfFEPWzxNPPPFErvMOHjw489iOHTtmGjdnzpzk1VdfzVVHa/CNfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIFY+AcAAAAAgAKx8A8AAAAAAAVi4R8AAAAAAArEwj8AAAAAABSIhX8AAAAAACgQC/8AAAAAAFAg7ctdwKLU1tYmtbW1TY4bOHBgrvN+8sknmcf2798/07jvvvsuVw1Upu7duycdOnRoctyBBx6Y67zvvvtu5rEff/xxpnFz5szJVQOV68EHH0y6devW5LipU6fmOu/VV1+deezOO++cadyMGTOSyy+/PFcdVJ7p06cn8+fPb3Lc+eefn+u8eZ6X1llnncxjp0+fnqsOKtOUKVOSzp07NznukksuyXXeLK/bC2R9X2fOFcegQYNa5TX2zjvvzDx21113zTRu+vTpyUUXXZSrDirP3Llzk/btm/6Yvccee+Q677x58zKPPeusszKP/e6777y3K4Cvvvoq07zL+p5/gS5dumQee8ghh2QaN3PmzOSRRx7JVQeVafnll0+6du3a5Lgrr7wy13lXX331zGPXWmutTOOmTZuWqwYqU9Z14mOOOSbXeefOnZt5bNbPyN99911y1VVX5aqjNfjGPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIFY+AcAAAAAgAKx8A8AAAAAAAVi4R8AAAAAAArEwj8AAAAAABSIhX8AAAAAACiQ9uUuYFHWWWedpFu3bk2OGzJkSK7zXnvttZnHDhs2LNO4mTNn5qqByrTjjjsmXbp0aXJcnjmUJElyww03ZB679dZbZxo3ffr03HVQmVZeeeWkR48eTY7bYYcdcp134sSJmce+++67mcbNmDEjVw1UptVWWy3p2rVrk+OefvrpXOe98sorM4+dPn165rHTpk3LVQeVqV+/fpnm3eWXX57rvH/4wx8yj501a1amcfPnz89VA5VrpZVWSrp3797kuL322ivXeT/77LPMY1966aVM43yeKIZddtklWXLJJZscd/bZZ+c6b57nujxzKevzIpXt4IMPTjp37tzkuNNPPz3XeQcOHJh5bJbPM0ni80SRvPfee5nm3R133JHrvBMmTMg8dty4cZnG5fnsQeXq3r17ps8T77//fq7zbrbZZpnH/v3vf880rlLe1/nGPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIFY+AcAAAAAgAKx8A8AAAAAAAVi4R8AAAAAAArEwj8AAAAAABSIhX8AAAAAACgQC/8AAAAAAFAg7ctdwKLMnz8/mT9/fpPjhg0bluu8f/zjHzOPvfXWWzONmzVrVq4aqExff/110rlz5ybHbbnllrnOe8ABB2Qee/vtt2caN3PmzFw1ULmeffbZpEuXLk2O23777XOdd4011sg89r777ss0zrwrhvnz5yfz5s1rcty0adNynbdHjx6Zx06YMCHzWPOuGCZPnpzpNTbPPEqSJNlggw0yj/Vc1/aMHDky02vsRhttlOu8yy67bOaxd999d6ZxPk8Uw/vvv5907969yXEff/xxrvNmef5cYPDgwZnHmnfFcPHFFyc1NTVNjlt//fVznXe//fbLPPbkk0/ONG7OnDm5aqByrbPOOknXrl2bHLf55pvnOm+WubzAqFGjMo2bMWNGrhqoTEsttVTSrVu3Jsc99NBDuc77+9//PvPYxx9/PNO4urq6XDW0Ft/4BwAAAACAArHwDwAAAAAABWLhHwAAAAAACsTCPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIFY+AcAAAAAgAKx8A8AAAAAAAXSvtwFLMptt92WdOjQoclxY8eOzXXeH/3oR5nHrr322pnGzZgxI1cNVKavv/466dixY5PjTjrppFzn/fe//5157CuvvJJp3Jw5c3LVQOV65JFHkvbtm346Puigg3Kdd6eddso8dt68eS06jsr2wQcfJJ06dWpy3P/3//1/uc47atSozGOfeuqpzGNnzZqVqw4q01tvvZXpNXbIkCG5zjtx4sTMY6dMmZJp3OzZs3PVQOW67777Mr3GnnLKKbnO+8477zS3JArunnvuyfQaO3To0Fzn3XHHHTOPra2tbZWxVK6ePXsm7do1/b3OvGsn3bp1yzx26tSpmcbNnTs3Vw1UrhdffDHT890DDzyQ67yHH3545rGPPfZYpnHWT4rh4YcfzvR5YsSIEbnOu88++2Qe+/nnn2caVymfYX3jHwAAAAAACsTCPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAAQIFY+AcAAAAAgAKx8A8AAAAAAAVi4R8AAAAAAArEwj8AAAAAABSIhX8AAAAAACiQ9uUuYFH+53/+J+nRo0eT495+++1c591zzz0zj33//fczjZs1a1auGqhMq666atK5c+cmxw0aNCjXeUeNGpV57IgRI3Kdm+q37777Jl26dGly3I477pjrvHvssUfmsausskqmcfPnz89VA5Vpm222Sbp169bkuNtuuy3XeVddddXMY/M8L86dOzdXHVSmvffeO+natWuT466//vpc5913330zj/3kk08yjZszZ06uGqhcBx10UKbX2E033TTXea+44orMY0eOHJlpnNfYYth3330zvcY+99xzuc57wgknZB47Y8aMzGPnzZuXqw4q02677ZZ07NixyXHHHHNMrvO2a5f9u6JPPvlkpnG1tbW5aqBydejQIenQoUOT484///xc5+3bt2/msVmfwzzXFcOOO+6Y6fPE6NGjc5135513zjz2s88+yzRu9uzZuWpoLb7xDwAAAAAABWLhHwAAAAAACsTCPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoEAs/AMAAAAA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AAAAAFAgFv4BAAAAAKBAKqbVT69evVLb8a3f2223XcjxbYhxq4AkSZLRo0eHvOSSS4a8//77Z6ohvo28trY25B/+8IepcZMmTQr56quvDvn666/P9Di0LZ06dUptx/Nx0003LXE1tFXnnntug/9+yimnlLgSqkX9FjylcsYZZ4R87bXXlqUGSueyyy4LuWPHjql9u+22W0lqiNtadOnSJeT4ttz49m+o74UXXmhyTPx5hmI74YQTQo7b+8Tqt115/fXXW6WW3r17p7bj9j6xcrQeoPU9+eSTIcfrK8114YUXhnzwwQcv9vlo21ZeeeWQd9lll5Dj92L1xS2m4jXE+m177r333gb3Lb/88iFPnz49dcy7776bpWyq0DbbbBPy008/HXLcArklDBw4sMF//+1vfxvy4MGDU/uOOuqoFq2hIb7xDwAAAAAABWLhHwAAAAAACqRiWv107do1tb3xxhuHHN9+Ef+S/Msvv5w6Jr6Vcccdd8xdw/fffx9y/OvO9fXt2zfk6667LuQtt9wy5COPPDL341NM9X+Vfttttw153rx5IY8bN65kNdH2nHbaaQ3++4QJE0pcCZXso48+KncJyTXXXBOyVj/FdPTRR4e81VZbhXzBBReU5PHXWWed1Pauu+7a4Lj4vel3333XqjVRfC+++GK5S6BEGmunEytVi9gnnngi07gRI0a0ciWUyr777hvy4rb3GTRoUGo7bpNy2GGHhXzfffct1uNQLHFblalTp6b2jR07NuRPPvkk5Hiu1Z93LUlbs7ah/meKuK3n4nr44YdDXm211VL7NtlkkyaP79+/f4vVkpVv/AMAAAAAQIFY+AcAAAAAgAKpmFY/48ePT22feeaZDY5bYoklQo5b89QXt+OJfy28/i9117/1aIGll1465G+++abRx4nFj0Pb9sUXX4S83HLLNTrujDPOCHnmzJmtWhNtW/z8ZK7RmLhlXnOcdNJJqe0tttgi5P/6r/8KeY899sh0vqFDh4Z84IEHLlZtVI74FvBYfOtsa8o6/7T3oTFZWrkkSZLcf//9rVwJlWjVVVdt8N+zfqZcXOedd17Iyy67bKZjbrrpptYqhxLbZZddMo2rra0Neb/99gt52LBhIcdrKkmSJA888EDIV199dcgvvPBCyJMnT85eLFVtyJAhIR9yyCEhxy18/vu//zt1TNzqB1rS22+/HfJ6662X+/gbb7wxtX3uueeGPH369AaP6devX2r7rbfeavJxHn/88dy1LS7f+AcAAAAAgAKx8A8AAAAAAAVi4R8AAAAAAAqkYnr8Z7Wovv6xSZMmNZiz+vbbb3Mfc/TRR+c+huK48847Q15UX/9YOfp70Tb87Gc/a3TfVVddVcJKqHSff/75Yh1fU1PT6L7bbrst5Ljn8V133RXyDjvs0OjxBxxwQMhxX/iRI0fmrJJKsuaaa4b8+uuvhzxmzJiSPP7JJ5/c6L6vvvqqJDVQ3c4555xM4w477LBWroRKFPdOjy2zzDIh1++d3pzPq4353e9+l2lc/Ns7FMe4ceMa/Pf33nsvtb3uuus2ea4uXbqktn/wgx80OO6SSy4J+dhjj23yvFSnurq6TOPi35b74IMPWqscSGbMmBFy165dMx0zePDgkI866qjFevy///3vuY/5n//5n8V6zObwjX8AAAAAACgQC/8AAAAAAFAgVdfqp5J9/PHH5S6BMjrmmGMyjRs6dGjIH374YStVQ1t38803N7rvoosuKl0hVLzll18+9zGLau/TmPj5Lr4lfFGtfmJDhgwJuU+fPrkfn/LaYostQt54441DHjRoUMlrWWuttRrdF7ftg8Ycf/zxje7797//XcJKqES9evVqcsxBBx2U2r722msX6zHj1nqLcuqpp4Y8ZcqUxXpMKlP8Hu2xxx4L+fDDD899rldffTXTuFmzZuU+N9XhjjvuKHcJkHL77beHnLW9z9SpU0P+zW9+s1iPf9lll4Xcu3fvTMdMnz495HKsAfrGPwAAAAAAFIiFfwAAAAAAKBCtfhoxYsSITOM233zzVq6ESnbYYYflPubCCy9shUoAsuvXr1/uY5rT3qcxzzzzTO5jst5KSWX60Y9+FPK0adNCLtVr4qWXXppp3L333tvKlVB0q6++erlLoMziNgRxm7PY/vvvn9reY489Qt50001D7tmzZ8gTJkxIHfPggw+GPGDAgEy13XTTTZnGUb3i19i4hVTcaqK++H3hW2+9lfsxa2trcx9DdTjuuOMW6/j6z1uwuLbddtvcxyy11FIhP/TQQyE/99xzIXfr1i11zHvvvRfyFVdcEXLW9kKxuN13OfjGPwAAAAAAFIiFfwAAAAAAKBCtfhqxyy67NLrvnXfeCfn1118vRTlUqMMPP7zJMY8++mhqe8yYMa1VDm3cop637rrrrhJWQqU7+uijmxzz2GOPlaCSJBk2bFhqe++99y7J41JaK620UshTpkwJeebMmSV5/PPPP7/RfXGLgjfeeKME1VCN7rjjjnKXQJWI58oyyywTctxOZe7cualj9t1335CXW265Bs+75pprprYPOOCAkBtrx3faaadlqJgiGT16dMgbbLBByBdddFFq3AUXXBByc9o5jh8/PuR27RZ+n7Rz586pcbNnz859bqrbv//975Dr6upa7XH22WefkEv1uYXyGzduXMjrrbde7uO32mqrBnNLi+s8++yzW+1xsvCNfwAAAAAAKBAL/wAAAAAAUCAW/gEAAAAAoED0+I988803mcatv/76rVwJlap///6p7T333LPBcX/9619D3n///VuzJAhGjBjR6L4rr7yyhJVQ6ebPn9/kmJNOOqkElZSuxzvlFfezjt9HnXnmmSG39PNUlt+ySJIkGTlyZIs+LsV03HHHNbpv+vTpJayEapL1eS3usX7xxReHvOKKK4bct2/f1DE9e/ZscFzsxhtvzPT4FEf8ehv3vz733HMX+9zPP/98yNdcc03I8ev6b3/729QxgwcPDvndd99d7BqofDfddFOmcSuvvHLI8W8n1v8dxc0226zJcw0YMCC1/dBDD2WqgeoTr69deOGFIcd99Lt27VrKkoL33nsv5HXXXbcsNTTEN/4BAAAAAKBALPwDAAAAAECBtPlWP3vttVfISy+9dINj7rzzzhJVQyWKbyW6/PLLU/u+/PLLkONbH+vf4gjl5tZaYmussUaTY6ZMmVKCSpLkkEMOKcnjUF4dOnQIuUuXLiH//ve/D7n+rdyvvfZayM8880zIcXuLjz/+OHVM3G7g2GOPzVTbG2+8kWkcbU/W56d4HkNz1NXVhXzBBRdkOmbcuHEhx59jH3744Rari+ozZsyYkON51Zzjf/azn6X2vfjiiw0eM2HChJAPOuig1L74efTDDz8MedCgQblro/TiNY7tt9++0XH33ntvyFdffXWj49Zcc80Gzx23/WmOn/zkJ6ltrX7ahrg1Xpyzij+TNKf97Pvvv5/arqT2PjHf+AcAAAAAgAKx8A8AAAAAAAXS5lv9DBs2rMkxP/3pT0tQCZVk4MCBId93332Njps+fXrIjzzySMjaqlAqV155ZblLoAr179+/yTH9+vVLbce3fi+uJ598Mvcx2u5VtyFDhoS89dZbhxzPxUMPPTR1zB577BFy7969Qx4+fHjI7dun38q++eabIU+cODFTba+//nqmcbQ9f/7znzON+93vftfKlUCSrLTSSqnttdZaq8FxNTU1pSiHKnDeeeeF3LFjx9S+I488MuTbb7895KytpmLjx48Puf7rco8ePUJ+4YUXcp+b8po1a1bIX3zxRWpf3NIna8u7eK7E7coWt9VP3EYKsornd1Z33XVXyFnbipabb/wDAAAAAECBWPgHAAAAAIACaXOtfo444ohM4374wx+2ciVUmp122inku+++O9Mxr732Wsj33HNPS5fUpF122SXkbbfdNrXvwgsvLHU5lMEpp5zS4L/X/4V5iC233HJNjolvY0ySJNlyyy2bPOb0009PbV977bW56loUbfeq2+jRo0M++OCDQz755JNDrq2tTR3z1ltvhfzoo4/mfsxXXnkl5LilQX2DBw/OfW7ahg4dOpS7BAh++ctfZhoXt9KABc4666xFbi+O2bNnh7ziiium9j333HMhT5gwocUek9IYOnRoyJMnT07t+/jjj3Ofb5111gl58803b35h9dRvUQpZ1NXVZRoXtwSqlvY+Md/4BwAAAACAArHwDwAAAAAABWLhHwAAAAAACqTN9fj/85//3Oi+N954I+RRo0aVoBoqyd577x1yp06dMh2zxBJLhHzUUUeFHP9ewOOPP5465oEHHmhuiUmSJMmJJ54Y8mWXXRbyRx99lBr30ksvhTxixIjFekwqV9euXRv897XXXrvElVA0W2yxRWp74sSJIT/99NMhH3PMMa1WQ01NTaudm/L56quvQr700ktb7XE+/fTTTOPmz5/fajVQTPV/VwlKIWtP9kmTJrVyJZDWs2fPkD/77LPUvq+//jrk+PWf6jBo0KCQ66+RfPHFFyEvvfTSIX/77beNni/+jHr22WeHfO6554bcp0+f3HV+9913uY+hbbrllltyH9PYmku18I1/AAAAAAAoEAv/AAAAAABQIG2i1c/YsWMzjdt0001buRIq2fDhw0M+/fTTMx0T3+rd2G3fcQugJEmS2267LeQLL7ww5JkzZzZ6zHLLLRfyeuut1+DjxLdYJkmSDBgwIOR58+aF/MwzzzR4PNVj1113LXcJVLkbb7wx5FNPPTXTMX379g1Zex+qQV1dXYP/Pnfu3BJXQjU544wzmhwTt1OESnPDDTeUuwTamLXWWivk+m324tY/yy+/fMgzZsxo/cJYbLNnzw65JZ5bHnvssZCXWmqpkL/88suQ678O//CHP2zyvPXbSMXnnjp1au46Ka6TTjop07gifSb1jX8AAAAAACgQC/8AAAAAAFAghW31c8ABB4S8/vrrNzru4IMPLkU5VIEnnngi5JVWWinkV199NeTevXsv9uPEv3h/3XXXLfb5Fhg9enRq+6mnngpZe59iueOOOxr89zFjxpS4EqrVaaedFnLWVj8tafz48SHHt4dDS/rRj37U4L+3b1/Yt7+0gGuuuabcJUDQrp3v6VH5Ro0aFfLnn3+e2he3nNVyhVg8H15++eWQv/vuu9S4+HPDaqutFvLzzz8f8tdff506Zvr06S1WJ9WvsfafsZZcm6s03kkAAAAAAECBWPgHAAAAAIACKey9zkOHDs007sEHH2zlSqhGn332Wch9+vQJeeONN06Ne+6550KOfzm+Nb3++ushxy2tJk2aVJLHp/z69u3b4L/ff//9Ja6EIqipqQk5y22QLfE4UApbbbVVg//u9m+aQ4sKyuHQQw/NNO6f//xnK1cC2XzwwQep7W233Tbk1157rdTlUCUmTpwY8iuvvJLaF7cBisXtff7xj3+k9n3//fctWB3V5pNPPsl9zOmnn97yhVQI3/gHAAAAAIACsfAPAAAAAAAFYuEfAAAAAAAKpFA9/g877LAmx6y22molqISiGj16dGp76aWXbvKYdu3S/31tww03DPnbb78NOe5rB4syYsSIkNdff/2QL7vssnKUQ4HEffi33nrr1L6jjjoq5BVWWCHkwYMHh/zXv/61FauDpm2yySYhb7PNNg2OmTFjRmq7U6dOIc+ZM6dV6qJy7b777pnGffTRR61cCfy/llxyyUzjGvtNEyi3+fPnh/zjH/845OHDh5ejHKrAb3/723KXQBWKf/9ypZVWynRMW/kNOt/4BwAAAACAArHwDwAAAAAABVKoVj/33ntvg//+ySefhPzhhx+WqBr4j9ra2tR2/XZBkNduu+1W7hJoA0aNGrXIbahEb7zxRsjxLb9nnXVWyBdffHHqGO192rb67Sbi92lxG6i4VSOUytNPP51p3E477dTKlUDzeP8IlMLQoUMzjRs4cGArV1J5fOMfAAAAAAAKxMI/AAAAAAAUSFW3+pk0aVKmcbfccksrVwIAQCV55JFHGsywKJtsskm5S4Bg/PjxIdfU1JSxEgCoLPXbd2YxZMiQVqiksvnGPwAAAAAAFIiFfwAAAAAAKJCqbvUzevTo1HafPn0aHHfXXXeVohwAAAAAAFrRhRdeGPI555wTcseOHVPjdtttt5LVVIl84x8AAAAAAArEwj8AAAAAABSIhX8AAAAAACiQqu7xv88++5S7BAAAAAAAyqBTp07lLqFi+cY/AAAAAAAUSLMX/uvq6lqyDprgersG5eCauwbl4Jq7BqXmersG5eCauwbl4Jq7BqXmersG5eCauwal5nr/h+tQWlmud7MX/qdNm9bcQ2kG19s1KAfX3DUoB9fcNSg119s1KAfX3DUoB9fcNSg119s1KAfX3DUoNdf7P1yH0spyvWvqmvmfY2pra5MpU6YkPXr0SGpqappzCjKoq6tLpk2blvTq1Stp165td2Yy50rHvFvIvCsd824h8640zLmFzLnSMe8WMu9Kx7xbyLwrDXNuIXOudMy7hcy70jDn0sy70sgz75q98A8AAAAAAFQe/zkKAAAAAAAKxMI/AAAAAAAUiIV/AAAAAAAoEAv/AAAAAABQIBb+AQAAAACgQCz8AwAAAABAgVj4BwAAAACAArHwDwAAAAAABWLhHwAAAAAACsTCPwAAAAAAFIiFfwAAAAAAKBAL/wAAAAAAUCD/Py8xxDhZa2SMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 2000x400 with 30 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_reconstructions(model)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "9S8qgLsO2uix"
   },
   "source": [
    "## 2. Optional\n",
    "\n",
    "At this stage, you can code the interpolation described in the lesson to obtain:\n",
    "\n",
    "![](https://raw.githubusercontent.com/dataflowr/slides/master/images/module9/interp_AE.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9VCJLQXE2ujS"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([7, 2, 1, 0, 4, 1, 4, 9, 5, 9])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data, labels = next(iter(test_loader))\n",
    "labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9VCJLQXE2ujS"
   },
   "outputs": [],
   "source": [
    "encoded_0 = model.encoder(data[1].view(-1,784).to(device))\n",
    "encoded_1 = model.encoder(data[9].view(-1,784).to(device))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9VCJLQXE2ujS"
   },
   "outputs": [],
   "source": [
    "alpha = torch.linspace(0,1,steps=10)\n",
    "alpha = alpha.view(-1,1).to(device)\n",
    "interp = (1-alpha)*encoded_0+alpha*encoded_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9VCJLQXE2ujS"
   },
   "outputs": [],
   "source": [
    "decoded_imgs = model.decoder(interp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2000x400 with 10 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "decoded_imgs = to_img(decoded_imgs)\n",
    "n = 10\n",
    "plt.figure(figsize=(20, 4))\n",
    "for i in range(n):\n",
    "    # display original\n",
    "    ax = plt.subplot(1, n, i + 1)\n",
    "    \n",
    "    plt.imshow(decoded_imgs[i])\n",
    "    plt.gray()\n",
    "    ax.get_xaxis().set_visible(False)\n",
    "    ax.get_yaxis().set_visible(False)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "#encoded_0 = model.encoder(data[0].view(-1,784).to(device))\n",
    "#encoded_1 = model.encoder(data[6].view(-1,784).to(device))\n",
    "n = 100\n",
    "alpha = torch.linspace(0,1,steps=n)\n",
    "alpha = alpha.view(-1,1).to(device)\n",
    "interp = (1-alpha)*encoded_0+alpha*encoded_1\n",
    "decoded_imgs = model.decoder(interp)\n",
    "decoded_imgs = to_img(decoded_imgs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.animation as animation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "ims = []\n",
    "for i in range(len(decoded_imgs)):\n",
    "    plt.gray()\n",
    "    ax.get_xaxis().set_visible(False)\n",
    "    ax.get_yaxis().set_visible(False)\n",
    "    im = ax.imshow(decoded_imgs[i], animated=True)\n",
    "    if i == 0:\n",
    "        ax.imshow(decoded_imgs[0])  # show an initial one first\n",
    "    ims.append([im])\n",
    "\n",
    "ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,\n",
    "                                repeat_delay=1000)\n",
    "#writergif = animation.PillowWriter(fps=30) \n",
    "#ani.save(\"AE_interpolate.gif\",writer=writergif)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Z3sm7Pi62ujU"
   },
   "source": [
    "# 3. Exercise: Implement a denoising AE:\n",
    "\n",
    "\n",
    "Use previous code and with minimal modifications, transform your AE in a denoising AE. Now, you first apply some noise to your input and try to recover the original data at the output. For the noise, you can add some random noise or erase some of the pixels. In this last case, you should obtain something like: \n",
    "\n",
    "![](https://raw.githubusercontent.com/dataflowr/slides/master/images/module9/denoising_AE.png)\n",
    "\n",
    "The first line corresponds to the original digit, the second line to the noisy version of the digit given as input to your network, the third line is the associated code and the last line is the denoised digit obtained by your decoder from the code."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "isYFcQFS2ujU"
   },
   "outputs": [],
   "source": [
    "# You need first to modify the training process by adding noise to your data\n",
    "# Hint if you want to erase pixels: https://stackoverflow.com/questions/49216615/is-there-an-efficient-way-to-create-a-random-bit-mask-in-pytorch\n",
    "def train_denoiser(model,loss_fn,data_loader=None,epochs=1,optimizer=None, noise=0.1):\n",
    "    model.train()\n",
    "    for epoch in range(epochs):\n",
    "        for batch_idx, (data, _) in enumerate(train_loader):\n",
    "            #mask = torch.empty_like(data).uniform_() > noise\n",
    "            #noisy_data = data * mask\n",
    "            mask = torch.zeros_like(data)\n",
    "            level = 10\n",
    "            mask[:,:,-level:,:] = torch.ones(mask.shape[0],1,level,28)\n",
    "            noisy_data = mask * data\n",
    "    \n",
    "            data = data.view([-1, 784]).to(device)\n",
    "            noisy_data = noisy_data.view([-1, 784]).to(device)\n",
    "            optimizer.zero_grad()\n",
    "            output = model(noisy_data)\n",
    "            loss = loss_fn(output, data)\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            \n",
    "            if batch_idx % 100 == 0:\n",
    "                print('Train Epoch: {} [{}/{} ({:.0f}%)]\\tLoss: {:.6f}'.format(\n",
    "                epoch, batch_idx * len(data), len(data_loader.dataset),\n",
    "                100. * batch_idx / len(data_loader), loss.data.item()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "EBkQbfVl2ujX"
   },
   "outputs": [],
   "source": [
    "input_dim = 784\n",
    "encoding_dim = 32\n",
    "\n",
    "model = DeepAutoEncoder(input_dim, encoding_dim)\n",
    "model = model.to(device)\n",
    "optimizer = optim.Adam(model.parameters())\n",
    "loss_fn = torch.nn.BCEWithLogitsLoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "KlYqlT822ujZ"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 0 [0/60000 (0%)]\tLoss: 0.691750\n",
      "Train Epoch: 0 [25600/60000 (43%)]\tLoss: 0.266869\n",
      "Train Epoch: 0 [51200/60000 (85%)]\tLoss: 0.243976\n",
      "Train Epoch: 1 [0/60000 (0%)]\tLoss: 0.238556\n",
      "Train Epoch: 1 [25600/60000 (43%)]\tLoss: 0.205288\n",
      "Train Epoch: 1 [51200/60000 (85%)]\tLoss: 0.199193\n",
      "Train Epoch: 2 [0/60000 (0%)]\tLoss: 0.192245\n",
      "Train Epoch: 2 [25600/60000 (43%)]\tLoss: 0.181710\n",
      "Train Epoch: 2 [51200/60000 (85%)]\tLoss: 0.181998\n",
      "Train Epoch: 3 [0/60000 (0%)]\tLoss: 0.176252\n",
      "Train Epoch: 3 [25600/60000 (43%)]\tLoss: 0.181831\n",
      "Train Epoch: 3 [51200/60000 (85%)]\tLoss: 0.174135\n",
      "Train Epoch: 4 [0/60000 (0%)]\tLoss: 0.169205\n",
      "Train Epoch: 4 [25600/60000 (43%)]\tLoss: 0.171028\n",
      "Train Epoch: 4 [51200/60000 (85%)]\tLoss: 0.165602\n",
      "Train Epoch: 5 [0/60000 (0%)]\tLoss: 0.170564\n",
      "Train Epoch: 5 [25600/60000 (43%)]\tLoss: 0.160691\n",
      "Train Epoch: 5 [51200/60000 (85%)]\tLoss: 0.161976\n",
      "Train Epoch: 6 [0/60000 (0%)]\tLoss: 0.161571\n",
      "Train Epoch: 6 [25600/60000 (43%)]\tLoss: 0.165191\n",
      "Train Epoch: 6 [51200/60000 (85%)]\tLoss: 0.161898\n",
      "Train Epoch: 7 [0/60000 (0%)]\tLoss: 0.159794\n",
      "Train Epoch: 7 [25600/60000 (43%)]\tLoss: 0.162167\n",
      "Train Epoch: 7 [51200/60000 (85%)]\tLoss: 0.162054\n",
      "Train Epoch: 8 [0/60000 (0%)]\tLoss: 0.158602\n",
      "Train Epoch: 8 [25600/60000 (43%)]\tLoss: 0.158592\n",
      "Train Epoch: 8 [51200/60000 (85%)]\tLoss: 0.155210\n",
      "Train Epoch: 9 [0/60000 (0%)]\tLoss: 0.151978\n",
      "Train Epoch: 9 [25600/60000 (43%)]\tLoss: 0.157797\n",
      "Train Epoch: 9 [51200/60000 (85%)]\tLoss: 0.158349\n"
     ]
    }
   ],
   "source": [
    "train_denoiser(model, loss_fn,data_loader=train_loader,epochs=10,optimizer=optimizer, noise=0.8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "LGixZVJF2ujW"
   },
   "outputs": [],
   "source": [
    "# Now you need to modify the plot function\n",
    "def plot_denoising(model, noise=0.1):\n",
    "    \"\"\"\n",
    "    Plot 10 reconstructions from the test set. The top row is the original\n",
    "    digits, , the second row is the noisy digits, \n",
    "    the third row is the encoded vector and\n",
    "    the bottom is the decoder reconstruction.\n",
    "    \"\"\"\n",
    "    # encode then decode\n",
    "    data, _ = next(iter(test_loader))\n",
    "    #\n",
    "    # your code here to compute\n",
    "    # noisy_data\n",
    "    # encoded_imgs\n",
    "    # decoded_imgs\n",
    "    #mask = torch.empty_like(data).uniform_() > noise\n",
    "    #noisy_data = mask * data\n",
    "    mask = torch.zeros_like(data)\n",
    "    level = 10\n",
    "    mask[:,:,-level:,:] = torch.ones(10,1,level,28)\n",
    "    noisy_data = mask * data\n",
    "    data = data.to(device)\n",
    "    noisy_data = noisy_data.to(device)\n",
    "    noisy_data.requires_grad = False\n",
    "    data = data.view([-1, 784])\n",
    "    noisy_data = noisy_data.view([-1,784])\n",
    "    encoded_imgs = model.encoder(noisy_data)\n",
    "    decoded_imgs = model.decoder(encoded_imgs)\n",
    "    #\n",
    "    true_imgs = to_img(data)\n",
    "    noisy_imgs = to_img(noisy_data)\n",
    "    decoded_imgs = to_img(decoded_imgs)\n",
    "    encoded_imgs = encoded_imgs.cpu().data.numpy()\n",
    "    \n",
    "    n = 10\n",
    "    plt.figure(figsize=(20, 4))\n",
    "    for i in range(n):\n",
    "        # display original\n",
    "        ax = plt.subplot(4, n, i + 1)\n",
    "        plt.imshow(true_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "        \n",
    "        # display corrupted original\n",
    "        ax = plt.subplot(4, n, i + 1 +n)\n",
    "        plt.imshow(noisy_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "        \n",
    "        # display code\n",
    "        ax = plt.subplot(4, n, i + 1 + 2*n)\n",
    "        plt.imshow(encoded_imgs[i].reshape(-1,4))\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "\n",
    "        # display reconstruction\n",
    "        ax = plt.subplot(4, n, i + 1 +  3*n)\n",
    "        plt.imshow(decoded_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "    \n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "RFLDJ6f_2ujb"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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UaytrUGn0+Htt98GAPR6PWiahn6//1THhx87ML/TjT1Eo1cAT02NIDY72Vkc3804JjuPY7wZx2TncYw345jsLI7vZhyTnccx3oxjsvM4xptxTHYWx3czjsnO4xhvxjHZeTs1xiJG3Ov10Ol0duTf2AlbGQ/d4344G3tsxjHZWRzfzTgmO49jvBnHZOdxjDfjmOwsju9mHJOdxzHejGOy8zjGm3FMdhbHdzOOyc7jGG/GMdl5HOONtjIeSv8xlzM0TUM8HofD4YCiKI/zEQdGv99HpVJBOByGTvfYax30EJxzd3HO7R7Ou7s473YP591dnHe7g3PuLs653cN5dxfn3e7hvLuL8253cM7dxTm3ezjv7uK82z2cd3c8ypx77MA8ERERERERERERERE9Oi4VERERERERERERERHtIgbmiYiIiIiIiIiIiIh2EQPzRERERERERERERES7iIF5IiIiIiIiIiIiIqJdxMA8EREREREREREREdEuYmCeiIiIiIiIiIiIiGgXMTBPRERERERERERERLSLGJgnIiIiIiIiIiIiItpFDMwTEREREREREREREe0i9XG/UNM0xONxOBwOKIqyncf01On3+6hUKgiHw9DpuNaxUzjn7uKc2z2cd3dx3u0ezru7OO92B+fcXZxzu4fz7i7Ou93DeXcX593u4Jy7i3Nu93De3cV5t3s47+54lDn32IH5eDyO4eHhx/3yAykajWJoaGivD+PA4pzbjHNu53HebcZ5t/M47zbjvNtZnHObcc7tPM67zTjvdh7n3WacdzuLc24zzrmdx3m3GefdzuO822grc+6xl4ocDsfjfumBxTHZWRzfzTgmO49jvBnHZOdxjDfjmOwsju9mHJOdxzHejGOy8zjGm3FMdhbHdzOOyc7jGG/GMdl5HOONtjIejx2YP8xbEu6HY7KzOL6bcUx2Hsd4M47JzuMYb8Yx2Vkc3804JjuPY7wZx2TncYw345jsLI7vZhyTnccx3oxjsvM4xhttZTxYXImIiIiIiIiIiIiIaBcxME9EREREREREREREtIsYmCciIiIiIiIiIiIi2kUMzBMRERERERERERER7SIG5omIiIiIiIiIiIiIdhED80REREREREREREREu4iBeSIiIiIiIiIiIiKiXcTAPBERERERERERERHRLmJgnoiIiIiIiIiIiIhoFzEwT0RERERERERERES0ixiYJyIiIiIiIiIiIiLaRQzMExERERERERERERHtIgbmiYiIiIiIiIiIiIh2EQPzRERERERERERERES7iIF5IiIiIiIiIiIiIqJdxMA8EREREREREREREdEuYmCeiIiIiIiIiIiIiGgXMTBPRERERERERERERLSLGJgnIiIiIiIiIiIiItpFDMwTEREREREREREREe0iBuaJiIiIiIiIiIiIiHYRA/NERERERERERERERLuIgXkiIiIiIiIiIiIiol3EwDwRERERERERERER0S5iYJ6IiIiIiIiIiIiIaBcxME9EREREREREREREtIsYmCciIiIiIiIiIiIi2kUMzBMRERERERERERER7SIG5omIiIiIiIiIiIiIdhED80REREREREREREREu4iBeSIiIiIiIiIiIiKiXcTAPBERERERERERERHRLmJgnoiIiIiIiIiIiIhoFzEwT0RERERERERERES0ixiYJyIiIiIiIiIiIiLaRQzMExERERERERERERHtIgbmiYiIiIiIiIiIiIh2EQPzRERERERERERERES7iIF5IiIiIiIiIiIiIqJdpO71ATwpo9EIo9EIk8kEj8cDVb3zLfX7fVSrVRSLRXS7XXQ6HWiatsdHS/uFwWDA4OAgrFYrAECnu7tG1ev1kMlkUC6XoWka5w3tOovFAqfTCVVVYbFYoKoqms0mGo0G2u02yuUyer3eXh8m7XN2ux0+nw+qqkKv10NRFPlao9FAIpFAu93e0meZTCZ4vV4YDAaoqgqdTif/3IumaWi1Wuh2u8jn82g0GtvyPdHTR6/Xyzkj7tEepNVqbZiXiqLA7XbDYrHAaDTCbDZveH8mk0Eul9v246aDR5yznE4n/H7/hnOipmnodrtoNBrIZDLodrt7eKR0WDgcDtjtdhgMBlgsFiiKgmaziU6ng1qthlKphH6/v9eHSYeEwWCA2WyG0WiE2+2GwWBAv99Hr9dDo9FANptlTIUA3JkrBoNBXkd1Oh3sdjtMJhNUVZX3fY9D0zR0Oh202200Gg0UCgU+99JDGY1GGTdxuVwb5ud63W4XmqahUqkgn8/vm7n1VAfmFUVBMBhEJBLB0aNH8Vu/9Vvwer3odDro9Xq4cOECfvSjH6FYLCIej6Ner+/1IdM+4fP58Kd/+qd4/vnnNwWXarUa/uIv/gLvvvsu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nNs9nHd3cd7tHs67Ox5lzj12YJ6IiIiIiIiIiIiIiB4dl4qIiIiIiIiIiIiIiHYRA/NERERERERERERERLuIgXkiIiIiIiIiIiIiol3EwDwRERERERERERER0S5iYJ6IiIiIiIiIiIiIaBcxME9EREREREREREREtIsYmCciIiIiIiIiIiIi2kUMzBMRERERERERERER7SIG5omIiIiIiIiIiIiIdhED80REREREREREREREu0jdy39c0zTE43E4HA4oirInx9Dv91GpVBAOh6HTcZ3ioNsPcw7gvDts9sO845w7XPbDnAM47w4bzjvaC/th3nHOHS77Yc4BnHeHzX6Yd5xzhw/nHe22/TDngN2dd3samI/H4xgeHt7LQ5Ci0SiGhob2+jBoh+2nOQdw3h0W+2necc4dDvtpzgGcd4cF5x3thf007zjnDof9NOcAzrvDYj/NO865w4PzjnbbfppzwO7Muz0NzDscDgDAn/zJn8BoNN7zPb/927/90M/50z/90we+XqvV7vuapmlYXl6Wx0IHm/g5/+AHP4DBYLjne+739+v98z//8wNf//73v//A1zudDn74wx9y3h0S4ud84sQJ6PX6e77nz/7szx76OX/0R3/0wNdHRkbu+5qmaYjFYpxzh4T4Of/n//yfYTKZ7vmedDr90M957733Hvj6zMzMA1/vdDr4p3/6J867Q2Ir8+7ixYsP/ZyHXWN//dd//YGvdzod/PjHP+a8OyTEz/nFF1+Eqt770ebf//t//9DP+ZM/+ZMHvn78+PH7vtbr9XDr1i3OuUNC/Jxff/31+865I0eOPPRz/uIv/uKBr3s8nge+3u/3USwWOe8OCfFz/i//5b/AbDbf8z3/8A//8NDPedh1+Pd+7/fu+1qn08Hf//3fc84dIuJn/Ru/8RtbipPczw9/+MMHvv7iiy/e97Vut4uLFy9y3h0S4uf8ve99775z7q//+q8f+jnPPffcA19/UJwYuBM/SaVSuzLv9jQwL7YlGI3G+z7A2e32h37O/QJdwla2HezlFgnaPeLnbDAY7rsYtJULzsPm1P0++37HQweb+Dnr9fr7nq+sVusT/zs815Egfs4mk+m+D2/3u+6u97Dr61Zv0DnvDoetzLsneah71M/gvDscxM9ZVdX7Bkm34xr7sPPh+mOhg239nLvf+WirzwJb+Xe26330dBM/Z7PZfN9r7P3OgY9iK3OXc+7wWB8/2Y57uPvZytzlvDsctjLnnE7nQz9nO+LE649nJ7FAExERERERERERERHRLmJgnoiIiIiIiIiIiIhoFzEwT0RERERERERERES0ixiYJyIiIiIiIiIiIiLaRQzMExERERERERERERHtoidv270Nfvd3fxd2u/2er9Xr9Yd+/enTpx/4+n/9r//1vq9VKhWcPHnyof8GHSxnzpyBxWK552vDw8MP/fpjx479f+3daXBk13kf/H/f7nv79r6iATTQGGAGmJUcaoYUGZGWVCXLpm3JkqyylZLjOLFlJx+cxB8cVyou25VKyS6XksqXLGYSlSOXwrLllM1YpmKGImUpFClKHHKGM+TsGOxAo/f19n77/TDvOWwM0N2YBQ0M8P9VTXE56GXunLnLc57zPD3Hz50713O80Wj0/Qzaf/7zf/7PXc91ExMTfV//2c9+tuf4r/7qr3YdMwwDX/ziF/t+Bu0vxWIR9Xp9y7HtzId2u91z/Mknn+w5bhgG/vIv/7Lv59D+8uyzz3Y91/3ET/xE39c/88wzPcePHTvWc9wwDPzv//2/+34O7S9f/vKXu8678fHxvq//pV/6pZ7jn/vc57qOGYaBX/7lX+77GbS//ON//I/hdDq3HDNNs+/r+z0P9LvGVioV/OZv/mbfz6H95ed+7ufg8Xi2HPvxH//xvq+/du1az/Fez7G1Wq3v+9P+9IlPfKJr/GRkZKTv60+dOtVzfHR0tOtYpVLBD3/4w76fQfvLv/yX/7Lrfd3LL7/c9/XT09M9x//gD/6g53ipVMKP/diP9f2cB4EZ80REREREREREREREA8TAPBERERERERERERHRADEwT0REREREREREREQ0QAzMExERERERERERERENEAPzREREREREREREREQDxMA8EREREREREREREdEAMTBPRERERERERERERDRADMwTEREREREREREREQ2Qbbe/AACUy+WuYx6Pp+/r3W53z/Hf/d3f7TpWr9f7vj/tP4cOHYLT6dxy7Dvf+U7f109PT/cc/8Y3vnFP34v2t3a7jXa7veXY7/3e7/V9/T/7Z/+s5/g//If/sOuYaZp935/2n0996lNdr5Ff+9rX+r7+qaee6jn+D/7BP7iXr0X73N/+7d9C1/Utx4rFYt/XP/nkkz3Hf+mXfqnneLfzLO1vpmmi1WptOfaVr3yl7+t/7ud+ruf4b/3Wb/X8bDp4Wq1W1zm3tLTU9/XRaLTn+H/4D/+h7+fTwfOHf/iH0DRty7F+cREAOHnyZM/xP/uzP+s6xnPdwWUYRtf7qz/5kz/p+/pPfOITPcf/1b/6V13HOO8OpkqlAkXZOpe8VCr1fb3f7+853mvOAUCz2ez7GQ8KM+aJiIiIiIiIiIiIiAaIgXkiIiIiIiIiIiIiogFiYJ6IiIiIiIiIiIiIaIAYmCciIiIiIiIiIiIiGiAG5omIiIiIiIiIiIiIBoiBeSIiIiIiIiIiIiKiAWJgnoiIiIiIiIiIiIhogGy7/QUA4Ny5c9B1fcuxa9eu9X392bNne47XarWuY9VqFX/xF3/R9zNof6lUKrBYLFuOffKTn+z7+kuXLvUc/5M/+ZO+n/8bv/EbfT+H9hefzwePx7Pl2COPPNL39XNzcz3Hf/qnf7rrWL1ex/PPP9/3M2h/GRoa6jrnnn322b6vX1pa6jn+yiuv9Bwvl8v47Gc/2/dzaH9xOBxd7+v6nceA3vdtAPDVr36157hhGPhH/+gf9f0c2l8URYHVat1y7NSpU31fn0gkeo73OpfVajU899xzfT+D9pebN292Pde99tprfV//hS98oef4r/7qr/Ycr1ar+P3f//2+n0P7i9vtht1u33Jsamrqvt+/17yr1Wr4yle+ct+fQQ+f4eFhOJ3OLce28xzb7fos/NEf/VHXMcZODqbr16/D4XBsOZbNZvu+vttrhS9+8Ys9xyuVCl599dW+n/MgMGOeiIiIiIiIiIiIiGiAGJgnIiIiIiIiIiIiIhogBuaJiIiIiIiIiIiIiAaIgXkiIiIiIiIiIiIiogFiYJ6IiIiIiIiIiIiIaIAYmCciIiIiIiIiIiIiGiAG5omIiIiIiIiIiIiIBsi2218AAI4cOQKn07nl2Ec/+tG+r3/++ed7jr/44otdx0zT7Pv+tP98+9vfhqZpW47Z7fa+r19eXu45/vnPf/6evhftb0tLS3C5XFuOPfroo31f/yu/8is9x7/0pS91HatWq33fn/afL3/5y1BVdcuxp59+uu/rL1y40HO80Wj0HOe8O5jsdjt0Xd9yzGq19n39u+++23P85MmTPcc57w6mdDqNSqWy5djo6Gjf1//e7/1ez/Fnn32269h25jXtP9VqFe12e8uxH//xH+/7+hdeeOG+Pr/fNZj2J5fL1fV59Rvf+Ebf18disZ7jTz31VNcxXl8PrrfeeqvrvFOU/vm+//f//t+e4x/60Ie6jnHeHUyHDh3qGjv52Z/92b6v/+3f/u2e47/zO7/Tc3yQsWJmzBMRERERERERERERDRAD80REREREREREREREA8TAPBERERERERERERHRADEwT0REREREREREREQ0QAzMExERERERERERERENEAPzREREREREREREREQDxMA8EREREREREREREdEAMTBPRERERERERERERDRAtt3+AgDQarXQarW2HPtv/+2/9X39pUuXeo7/1V/9VdexUqmEj33sY30/g/aXmzdvwmbbevo/+eSTfV9frVZ7jl+8eLHneK1W6/sZtP/8+3//77vOO6/X2/f17Xa753iz2bynMdq/dF2Hpmlbji0tLfV9fb95eePGjZ7j9Xq972fQ/uN0OuFwOLYcW19f7/t6u93ec/zWrVs9x/tdo2l/+upXvwpVVbccC4fDfV+fyWR6jodCoa5jnHMHk9VqhdVq3XLstdde6/v6ZDLZc/znf/7ne45Xq1W89NJLfT+H9pd6vQ6LxbLl2OTkZN/X95t3KysrXcf4DHtwVSoVmKa55Vi/OQXcfibpZWFhoesYnycOpnfffbfrvPnLv/zLvq9/8803e47/8R//cc9xwzDwxS9+se/nPAjMmCciIiIiIiIiIiIiGiAG5omIiIiIiIiIiIiIBoiBeSIiIiIiIiIiIiKiAWJgnoiIiIiIiIiIiIhogBiYJyIiIiIiIiIiIiIaIAbmiYiIiIiIiIiIiIgGiIF5IiIiIiIiIiIiIqIBsu32FwCAJ554Ah6PZ8uxmZmZvq9/+eWXe46fOXOm61ihUOj7/rT/vPzyy/B6vVuO/ZN/8k/6vv6zn/1sz/E33nij53ij0ej7GbT/fPOb3+w6737nd36n7+s///nP9xz/+3//73cdKxQK+MM//MO+n0H7y3/8j/+x65x77bXX+r7++eef7zl+6NChnuPVarXvZ9D+84u/+Itd510kEun7+nK53HN8amqq53ipVMIf/dEf9f0c2l++8Y1vdJ13v//7v9/39V/5yld6jv/UT/1U17FCoYDf/d3f7fsZtL/863/9r7vOuT/90z/t+/p6vd5z/OjRoz3H+50raX/6gz/4g67z7p/+03/a9/X9fmZubq7rWKVS6fv+tD995Stf6Trv/st/+S99X2+xWHqOh8PhrmOGYeBrX/ta38+g/eWZZ56By+XaciwWi/V9vcPh6Dn+7LPP9hwfZKyYGfNERERERERERERERAPEwDwRERERERERERER0QAxME9ERERERERERERENEAMzBMRERERERERERERDRAD80REREREREREREREA8TAPBERERERERERERHRADEwT0REREREREREREQ0QAzMExERERERERERERENkG23vwAA/OzP/iysVuuWY//jf/yPvq//sR/7sZ7jFovlnr4X7V8vvPACnE7nlmNLS0t9Xx+NRnuOx2KxnuO1Wq3vZ9D+88//+T+Hpmlbjn3pS1/q+/rvfOc7Pcc/8YlPdB1rNpt935/2n69//etwOBxbjp0/f77v6w8fPtxzPBwO9xyvVCp9P4P2n//6X/9r13kXiUT6vn5lZaXn+Ouvv95znNfYg+m3f/u3u15jP//5z/d9/ezsbM/xT37yk13HWq1W3/en/efXf/3Xu865s2fP9n39wsJCz/H/+T//Z89x3tsdTH/+53/e9Rr7+OOP93391atXe46/+OKLXccajUbf96f96Wtf+1rXeVcsFvu+vt8zwfz8fNcx3tcdTL/+678ORdk6l/w//af/1Pf1v/Ebv9FzXNf1e/peO4EZ80REREREREREREREA8TAPBERERERERERERHRADEwT0REREREREREREQ0QAzMExERERERERERERENEAPzREREREREREREREQDxMA8EREREREREREREdEA2Xbzw9vtNgDANM2uP1Mul/u+j6Lc//qC+C60v4k/50ql0vVnms1m3/ep1WoPZJzz7mAQf871er3rz2znXFetVnuO95q7Yoxz7mDYzrmu13wU+s25Xu/fOc55dzCIP+de88YwjL7v02/e9bvGirnNeXcwPKhrbL/zWavV6jvGOXcwiD/nRqPR9Wf6nceA/ueyfs8kvLc7WLZzb9fvPAb0jr0Avec159zBs517uwdxvus1ztjJwfKg4sTFYvGBfp+dZGnv4uxeXl5GLBbbrY/fYGlpCePj47v9NWiH7aU5B3DeHRR7ad5xzh0Me2nOAZx3BwXnHe2GvTTvOOcOhr005wDOu4NiL807zrmDg/OOBm0vzTlgMPNuVwPzpmlidXUVHo8HFotlV75Du91GsVhE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\n",
      "text/plain": [
       "<Figure size 2000x400 with 40 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_denoising(model, noise=0.8)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "ddKvatCh2ujn"
   },
   "source": [
    "# 4. Optional: how to deal with convolutions?\n",
    "\n",
    "Hint: start by decreasing the size of your image with `Conv2d` by using a `stride` like:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([2, 16, 32, 32])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "conv = nn.Conv2d(in_channels=8, out_channels=16, kernel_size=3, padding=1, stride=2)\n",
    "x = torch.randn(2, 8, 64, 64)\n",
    "y = conv(x)\n",
    "y.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now use [transposed convolution](https://pytorch.org/docs/stable/generated/torch.nn.ConvTranspose2d.html) (or [deconvolution](https://distill.pub/2016/deconv-checkerboard/)) with the same parameters:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "convt = nn.ConvTranspose2d(in_channels=16, out_channels=8, kernel_size=3, padding=1, stride=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([2, 8, 63, 63])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "convt(y).shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To get the same size as `x`, play with `output_padding`.\n",
    "\n",
    "Now, you have all the tools to build a convolutional autoencoder!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Conv_AutoEncoder(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(Conv_AutoEncoder, self).__init__()\n",
    "        self.encoder = nn.Sequential( \n",
    "            nn.Conv2d(1, 64, 3, stride=2, padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.Conv2d(64, 32, 3, stride=2, padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.Conv2d(32, 16, 3)\n",
    "        )\n",
    "        self.decoder = nn.Sequential(\n",
    "            nn.ConvTranspose2d(16, 32, 3),\n",
    "            nn.ReLU(),\n",
    "            nn.ConvTranspose2d(32, 64, 3, stride=2, padding=1, output_padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.ConvTranspose2d(64, 1, 3, stride=2, padding=1, output_padding=1)\n",
    "        )\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.encoder(x)\n",
    "        x = self.decoder(x)\n",
    "        return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model_conv(model,loss_fn,data_loader=None,epochs=1,optimizer=None):\n",
    "    model.train()\n",
    "    for epoch in range(epochs):\n",
    "        for batch_idx, (data, _) in enumerate(train_loader):\n",
    "            #data = data.view([-1, 784]).to(device)\\\n",
    "            data = data.to(device)\n",
    "            optimizer.zero_grad()\n",
    "            output = model(data)\n",
    "            loss = loss_fn(output, data)\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            if batch_idx % 100 == 0:\n",
    "                print('Train Epoch: {} [{}/{} ({:.0f}%)]\\tLoss: {:.6f}'.format(\n",
    "                    epoch, batch_idx * len(data), len(data_loader.dataset),\n",
    "                    100. * batch_idx / len(data_loader), loss.data.item()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Conv_AutoEncoder()\n",
    "model = model.to(device)\n",
    "optimizer = optim.Adam(model.parameters())\n",
    "loss_fn = torch.nn.BCEWithLogitsLoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "data, _ = next(iter(test_loader))\n",
    "data = data.to(device)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([10, 1, 28, 28])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model(data).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 0 [0/60000 (0%)]\tLoss: 0.741344\n",
      "Train Epoch: 0 [25600/60000 (43%)]\tLoss: 0.184988\n",
      "Train Epoch: 0 [51200/60000 (85%)]\tLoss: 0.089436\n",
      "Train Epoch: 1 [0/60000 (0%)]\tLoss: 0.083861\n",
      "Train Epoch: 1 [25600/60000 (43%)]\tLoss: 0.077404\n",
      "Train Epoch: 1 [51200/60000 (85%)]\tLoss: 0.072645\n",
      "Train Epoch: 2 [0/60000 (0%)]\tLoss: 0.071753\n",
      "Train Epoch: 2 [25600/60000 (43%)]\tLoss: 0.073021\n",
      "Train Epoch: 2 [51200/60000 (85%)]\tLoss: 0.069944\n",
      "Train Epoch: 3 [0/60000 (0%)]\tLoss: 0.069676\n",
      "Train Epoch: 3 [25600/60000 (43%)]\tLoss: 0.068538\n",
      "Train Epoch: 3 [51200/60000 (85%)]\tLoss: 0.069531\n",
      "Train Epoch: 4 [0/60000 (0%)]\tLoss: 0.067690\n",
      "Train Epoch: 4 [25600/60000 (43%)]\tLoss: 0.067358\n",
      "Train Epoch: 4 [51200/60000 (85%)]\tLoss: 0.067327\n",
      "Train Epoch: 5 [0/60000 (0%)]\tLoss: 0.065691\n",
      "Train Epoch: 5 [25600/60000 (43%)]\tLoss: 0.064569\n",
      "Train Epoch: 5 [51200/60000 (85%)]\tLoss: 0.067053\n",
      "Train Epoch: 6 [0/60000 (0%)]\tLoss: 0.066373\n",
      "Train Epoch: 6 [25600/60000 (43%)]\tLoss: 0.064463\n",
      "Train Epoch: 6 [51200/60000 (85%)]\tLoss: 0.066653\n",
      "Train Epoch: 7 [0/60000 (0%)]\tLoss: 0.065822\n",
      "Train Epoch: 7 [25600/60000 (43%)]\tLoss: 0.066834\n",
      "Train Epoch: 7 [51200/60000 (85%)]\tLoss: 0.065971\n",
      "Train Epoch: 8 [0/60000 (0%)]\tLoss: 0.064461\n",
      "Train Epoch: 8 [25600/60000 (43%)]\tLoss: 0.064747\n",
      "Train Epoch: 8 [51200/60000 (85%)]\tLoss: 0.064733\n",
      "Train Epoch: 9 [0/60000 (0%)]\tLoss: 0.064189\n",
      "Train Epoch: 9 [25600/60000 (43%)]\tLoss: 0.065043\n",
      "Train Epoch: 9 [51200/60000 (85%)]\tLoss: 0.066061\n"
     ]
    }
   ],
   "source": [
    "train_model_conv(model, loss_fn,data_loader=train_loader,epochs=10,optimizer=optimizer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Conv_Up(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(Conv_Up, self).__init__()\n",
    "        self.encoder = nn.Sequential( \n",
    "            nn.Conv2d(1, 64, 3, stride=2, padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.Conv2d(64, 64, 3, stride=2, padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.Conv2d(64, 32, 3)\n",
    "        )\n",
    "        self.decoder = nn.Sequential(\n",
    "            nn.ConvTranspose2d(32, 64, 3, stride=3, padding=1, output_padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.ConvTranspose2d(64, 64, 3, stride=3, padding=1, output_padding=1),\n",
    "            nn.ReLU(),\n",
    "            nn.ConvTranspose2d(64, 1, 3, stride=2, padding=1, output_padding=1)\n",
    "        )\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.encoder(x)\n",
    "        x = self.decoder(x)\n",
    "        return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Conv_Up()\n",
    "model = model.to(device)\n",
    "optimizer = optim.Adam(model.parameters())\n",
    "loss_fn = torch.nn.BCEWithLogitsLoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model_up(model,loss_fn,data_loader=None,epochs=1,optimizer=None):\n",
    "    model.train()\n",
    "    for epoch in range(epochs):\n",
    "        for batch_idx, (data, _) in enumerate(train_loader):\n",
    "            data = data.to(device)\n",
    "            optimizer.zero_grad()\n",
    "            output = model(F.avg_pool2d(data, kernel_size = 2))\n",
    "            loss = loss_fn(output, data)\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            if batch_idx % 100 == 0:\n",
    "                print('Train Epoch: {} [{}/{} ({:.0f}%)]\\tLoss: {:.6f}'.format(\n",
    "                    epoch, batch_idx * len(data), len(data_loader.dataset),\n",
    "                    100. * batch_idx / len(data_loader), loss.data.item()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 0 [0/60000 (0%)]\tLoss: 0.699899\n",
      "Train Epoch: 0 [25600/60000 (43%)]\tLoss: 0.275236\n",
      "Train Epoch: 0 [51200/60000 (85%)]\tLoss: 0.208102\n",
      "Train Epoch: 1 [0/60000 (0%)]\tLoss: 0.178293\n",
      "Train Epoch: 1 [25600/60000 (43%)]\tLoss: 0.129678\n",
      "Train Epoch: 1 [51200/60000 (85%)]\tLoss: 0.110307\n",
      "Train Epoch: 2 [0/60000 (0%)]\tLoss: 0.107966\n",
      "Train Epoch: 2 [25600/60000 (43%)]\tLoss: 0.099744\n",
      "Train Epoch: 2 [51200/60000 (85%)]\tLoss: 0.092488\n",
      "Train Epoch: 3 [0/60000 (0%)]\tLoss: 0.093365\n",
      "Train Epoch: 3 [25600/60000 (43%)]\tLoss: 0.088951\n",
      "Train Epoch: 3 [51200/60000 (85%)]\tLoss: 0.085323\n",
      "Train Epoch: 4 [0/60000 (0%)]\tLoss: 0.086166\n",
      "Train Epoch: 4 [25600/60000 (43%)]\tLoss: 0.085122\n",
      "Train Epoch: 4 [51200/60000 (85%)]\tLoss: 0.083457\n",
      "Train Epoch: 5 [0/60000 (0%)]\tLoss: 0.082000\n",
      "Train Epoch: 5 [25600/60000 (43%)]\tLoss: 0.082383\n",
      "Train Epoch: 5 [51200/60000 (85%)]\tLoss: 0.079957\n",
      "Train Epoch: 6 [0/60000 (0%)]\tLoss: 0.079061\n",
      "Train Epoch: 6 [25600/60000 (43%)]\tLoss: 0.079493\n",
      "Train Epoch: 6 [51200/60000 (85%)]\tLoss: 0.079689\n",
      "Train Epoch: 7 [0/60000 (0%)]\tLoss: 0.076670\n",
      "Train Epoch: 7 [25600/60000 (43%)]\tLoss: 0.076336\n",
      "Train Epoch: 7 [51200/60000 (85%)]\tLoss: 0.076370\n",
      "Train Epoch: 8 [0/60000 (0%)]\tLoss: 0.075213\n",
      "Train Epoch: 8 [25600/60000 (43%)]\tLoss: 0.077429\n",
      "Train Epoch: 8 [51200/60000 (85%)]\tLoss: 0.077284\n",
      "Train Epoch: 9 [0/60000 (0%)]\tLoss: 0.074644\n",
      "Train Epoch: 9 [25600/60000 (43%)]\tLoss: 0.074753\n",
      "Train Epoch: 9 [51200/60000 (85%)]\tLoss: 0.074165\n"
     ]
    }
   ],
   "source": [
    "train_model_up(model, loss_fn,data_loader=train_loader,epochs=10,optimizer=optimizer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "def to_img(x, size=28):\n",
    "    x = x.cpu().data.numpy()\n",
    "    x = 0.5 * (x + 1)\n",
    "    x = np.clip(x, 0, 1)\n",
    "    x = x.reshape([-1, size, size])\n",
    "    return x\n",
    "\n",
    "def plot_up_conv(model):\n",
    "    \"\"\"\n",
    "    Plot 10 reconstructions from the test set. The top row is the original\n",
    "    digits, the bottom is the decoder reconstruction.\n",
    "    The middle row is the encoded vector.\n",
    "    \"\"\"\n",
    "    # encode then decode\n",
    "    data, _ = next(iter(test_loader))\n",
    "    noisy_data = F.avg_pool2d(data, kernel_size = 2)\n",
    "    #data += noise * torch.randn(data.size())\n",
    "    data = data.to(device)\n",
    "    noisy_data = noisy_data.to(device)\n",
    "    \n",
    "    #data = data.view([-1, 784])\n",
    "    #noisy_data = noisy_data.view([-1,784])\n",
    "    noisy_data.requires_grad = False\n",
    "    encoded_imgs = model.encoder(noisy_data)\n",
    "    decoded_imgs = model.decoder(encoded_imgs)\n",
    "    \n",
    "    true_imgs = to_img(data)\n",
    "    noisy_imgs = to_img(noisy_data, size=14)\n",
    "    decoded_imgs = to_img(decoded_imgs)\n",
    "    encoded_imgs = encoded_imgs.cpu().data.numpy()\n",
    "    \n",
    "    n = 10\n",
    "    plt.figure(figsize=(20, 4))\n",
    "    for i in range(n):\n",
    "        # display original\n",
    "        ax = plt.subplot(4, n, i + 1)\n",
    "        plt.imshow(true_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "        \n",
    "        # display corrupted original\n",
    "        ax = plt.subplot(4, n, i + 1 +n)\n",
    "        plt.imshow(noisy_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "        \n",
    "        ax = plt.subplot(4, n, i + 1 + 2*n)\n",
    "        plt.imshow(encoded_imgs[i].reshape(-1,4))\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "\n",
    "        # display reconstruction\n",
    "        ax = plt.subplot(4, n, i + 1 +  3*n)\n",
    "        plt.imshow(decoded_imgs[i])\n",
    "        plt.gray()\n",
    "        ax.get_xaxis().set_visible(False)\n",
    "        ax.get_yaxis().set_visible(False)\n",
    "    \n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABeYAAAFMCAYAAACuzWzFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAD5UElEQVR4nOzdd5Rc53kf/u+dcqfXnbYzO4ttwC6ABYgmkmCXREqyZVuRrRYXxbbik3qck2OdJD6J7SRObEdWbMexHee4HTdJoStNU7QaKZISSJBEIeoC2F1snd3pvbffH/jdF7u4SxBlZ7Z9P+fwSPNysHhx+eKW5z7v80jtdrsNIiIiIiIiIiIiIiLqCs1GT4CIiIiIiIiIiIiIaCdhYJ6IiIiIiIiIiIiIqIsYmCciIiIiIiIiIiIi6iIG5omIiIiIiIiIiIiIuoiBeSIiIiIiIiIiIiKiLmJgnoiIiIiIiIiIiIioixiYJyIiIiIiIiIiIiLqIt29/sJWq4VIJAKbzQZJktZzTltOu91GPp9HMBiERsN3HZ3CNXcT11z3cN3dxHXXPVx3N3HddQfX3E1cc93DdXcT1133cN3dxHXXHVxzN3HNdQ/X3U1cd93DdXfD3ay5ew7MRyIRhMPhe/3l29L8/Dz6+vo2ehrbFtecGtdc53HdqXHddR7XnRrXXWdxzalxzXUe150a113ncd2pcd11FtecGtdc53HdqXHddR7X3Wp3subu+VWRzWa711+6bfGYdBaPrxqPSefxGKvxmHQej7Eaj0ln8fiq8Zh0Ho+xGo9J5/EYq/GYdBaPrxqPSefxGKvxmHQej/Fqd3I87jkwv5O3JLwbHpPO4vFV4zHpPB5jNR6TzuMxVuMx6SweXzUek87jMVbjMek8HmM1HpPO4vFV4zHpPB5jNR6TzuMxXu1OjgeLKxERERERERERERERdRED80REREREREREREREXcTAPBERERERERERERFRF+k2egJEm4VWq4XRaIRGc+N9lSRJ0Gg00Gq1kCQJsixDq9WK7zcaDVSrVbRaLTQaDfG/tVpto/4IREREREREREREtAUwME/0/3M6nThy5AisViv0ej00Gg2sVit6enpgsVgwMjICh8Mhvp9IJHD+/Hnk83lEo1Fks1ksLS3h2rVraDabG/gnISIiIiIiIiIios2MgXki3MiON5lM6O/vR09PD/R6PbRaLVwuF4LBIBwOB44ePQqPxyN+zcLCAnQ6HVKpFMxmM5LJJMrlMjQaDQPz1HUru3232+0NnAltF+/WQZ7ri4iIiIiIiOj+MTBPO97IyAhGR0cRDAbxxBNPwOl0QqvVQqPRwGQywW63w2QywWg0rvp1NpsNY2NjKBaL8Hg8SKfT0Gq1mJqaQqlUQqVSYYCeOkaSJJjNZsiyjNHRUTz44IOo1+uYmJhAOp3G0tISotHoRk+TthBJkqDVamE2m7Fnzx64XC74/X74/X7U63Vks1mUy2VcuHABCwsLqNVqqFQqGz1tIiIiIiLagrRaLXQ6nSgrvLJ0sKLdbqNSqaBer8Pr9aKvrw/tdhuFQgH1eh3lchmVSgW1Wg35fB6tVmsD/iRE946BedrRJEnC/v378YM/+IPw+/04duwYbDbbqkxR5f9rNJpVmaI2mw0HDx5Es9lEPB5HoVBApVLBiRMnoNVqUa/XGZinjpEkCVarFTabDU8++SQ+//nPo1gs4tlnn8XU1BROnjyJWCzG7Ga6YxqNBnq9Hk6nE4899hiGh4dx6NAhHDlyBIVCAXNzc0gmk/jjP/5jFAoFFAoFVKtVrjEiIiIiIrprSkBelmW43W7o9XrVd9rtNlKpFEqlEgYGBvDYY4+h2WwiEomgVCohmUwik8kgm82iWCwyME9bDgPztCPpdDr4fD5YrVb09/fD7/ejp6cHBoMBOt3NvxbNZhO1Wg2tVgulUgmNRgM6nU78YzabodVqYTKZ0G634XA44PV6IUkS8vk8G8FSx0iSBKPRCKvVCrPZDKPRiFqthna7LV4IMWBKd0Or1UKWZZhMJni9XoRCIbjdbhgMBrRaLTidTvG/LpcL7XYbmUyG64zuiEajEddYr9cLu92OVCqFxcXF+3qJbTQaYTAY0Gw2Ua/X0Wq10Gw2+VBG90UpcSjLsri3a7VaSCQSqFQqKBaLKBaLGz1N2mQ0Go3Ycev3+6HT6VCr1VCv11GpVJDP59FsNtFoNNbt2qnRaCBJEvR6PYxGI5rNJsrlMprNJq/PRLSprIyfmM1m6PV6WK1WOBwOyLKMnp4eVZUC4EZMJplMolgsYnR0FP39/Wg2m7BYLKhUKshms8jn81hYWEAsFkOj0diAPx3RvWNgnnYku92O7/u+78Po6CgOHjyII0eOiBvalcrlMlKpFAqFAqamppDL5WC322Gz2eByuTA6Ogqj0Qi73Q6LxYLh4WG8733vw9LSEjKZDB/aqGM0Gg16enrQ19cHl8sF4MZNSz6fRyaTYYkRumt6vR4OhwN+vx9Hjx7FkSNHYDKZAAAGgwGhUAh2ux379u1DsVjE1atXsby8zAAo3RGDwSB6tnz84x/Hgw8+iG9+85v4P//n/6BQKNzTz5QkCT6fD8FgEJVKBYlEAtVqFblcDtVqdZ3/BLSTaLVa9Pf3IxAI4Pjx4/jBH/xBFAoFvPDCC5ibm8PFixcxMTGBVqvF4CcJysvtoaEhfOpTn0JPTw8WFxeRSqUwOzuLs2fPolQqIZPJrEvyjiRJkGUZOp0OHo8HfX19qFQqmJycRKFQYHCeiDYVq9WKkZEROBwOjIyMwO/3w+v1YmBgACaTCT6fb83AfKPREBUKenp6EAgERDUDJSmt2WzipZdewuXLl1EulzfgT0d07xiYpx1Ho9FAlmX09vZicHAQgUAADocDkiSh3W6j1WqhXq+j0Wggl8shnU4jn89jeXkZ6XQaxWJRnOzr9TpkWYZWq4VWq4XFYoHL5UKpVFqVeU+03pSHMYvFAoPBAOBGYL5araJSqTBTgO6Ksp6U8khKVjxwY+eFku3cbDbFd0wm07s2iCW6lbK7zG63IxwOY2xsDBcvXlyzlujdMJlM4rpbqVSg0+lQKpUYmKf7otVqRaZ8f38/9u/fj1wuhwsXLqDRaGB2dhaSJIl7RyJlJ6PD4YDH48Hg4CB8Pp+4fuZyObHjdr2uncrODqPRCLfbDa/Xi1KphPn5eZRKJb442uGU2t3AjedfAOIZl6iTlOuj0rdPo9Gsuq46nU709fUhFAohEAhgaGhI7NhVnmtXajabcDgcKBQKsNlscDgcYn2vPJ9evnz5vu8riTYCI4e0o5jNZrjdboRCIYyNjWF8fBwulwuSJKFWq4m6ZN/5zncwMTEhslqq1Sqi0SjK5bK4AR4bGxPZpU6nc9W2LKPRKG6AiDpBo9HA5XIhFArBZrOh0WigUChgcnISFy5cQDqd3ugp0hZhMBig1+sxOjqKp59+GsFgED6fb6OnRduM2WzG0NAQ/H4/XC6XaPR1PyRJgt/vx759+wAArVYLxWIRL730EiYnJ9dj2rTDKEFUu92O48eP46GHHsLw8DD0ej3sdjueeOIJjI+PI51O45133kGj0eCuoR1uZdb6448/jmeeeQY+nw8HDhyA0WhEqVRCs9mELMvI5XIoFov3HRhVesLYbDZ89KMfxf79+8ULgUgkgkwmAwDI5/MolUrr8KekrUSv14tdPwcOHIDZbIbT6YROp8PJkyfx5ptvotVq8dxFHWEwGGC1WmGxWDA6OgqXy4X+/n6Ew2GYzWYRfO/p6YHFYoHZbIbdbhcvLtei0Whgt9thMpmg1+uh1+tF8J9oO2BgnnYU5SLg8/nQ39+PgYEBEUBvNBrIZrNIpVJ49dVX8a1vfUvUEVUykZvNpsiOz2az+MAHPgBZlmE2m0VgXpZlyLLMCwV1lHKDotzUNBoNlMtlRCIRzMzMbPT0aItQAgpGoxHhcBiPP/44PB4PnE7nRk+NthlZlhEIBBAMBmGz2URd5PshSRKcTicGBgbEg2A+n8c777zDwDzdEyUwb7FYsG/fPjz22GOwWq0iM+/gwYOo1Wr41re+Ba1Wi1arxaz5HU6p724wGDA+Po5PfvKTMBqNMJlMaDabiEajyOfz0Ol069abQNn9a7Vacfz4cTz99NMwmUywWCyYnJzEN7/5TVHai4H5nUd5Hu3t7cXx48fhcDgQCoVgNBqRyWRw6tQpnrOoY5SXhm63GwcPHkQ4HMaRI0dw+PBhaLXaewqqS5IEs9ncwVkTbayuB+aVhyiLxQKr1QqPxwONRiMabCpvbiuVCpLJJOr1Our1umjqxa3JdD+Urt9KRrskSahWq6jVaojFYnjjjTcQi8UwOzuLYrEo1t/KtenxeOD1ejE4OAi32w2bzSa6h5dKJSwtLSEWi6Fer2/kH5W2KZ1OJ8pB9Pf3Y8+ePTCbzVhcXEQkEmFtebojSmM6o9Eodv2Mj4/D5/PBbreLc9pa7HY7vF4v+vr6MDIygkqlgnK5jHq9jlKpxCAAqUiSBIPBAJ/Ph0AgIHoXrAelF4zT6YTP5xPlJLRarShPR3SnZFkWJUGU/kGyLAO4UQIilUohn88jm82KJsMMcO1MGo1G3JPt3bsXPp8Pw8PDMBgMaDQaopzM6dOnceXKFVy7dm3dSohYrVaxA8nn88FqtSKTyWB6ehrXr19HIpFAoVBYlzr2tDUoyWdGoxG7du2C1+vF8PAw9uzZA4vFArfbDa1Wu+q5lecv6gSdTid68A0MDGB4eBgejwc6nU7EX+40KL+ymXWlUnnP+EoikUCz2VyPPwZtUSufA5SkCoPBAJfLJZoNm0wmce5T4oCVSkU8xyrrrZvnx64H5jUaDcLhMHbt2oWBgQE8+OCD0Ol0olGX0qk+kUjg1KlTyGQyKBQKInM5mUzyIYvumbIV2Wq1ipuSQqGAVCqFixcv4k/+5E8wOzuLRCKBXC4HAKKpCHBj/Q4ODuKhhx7CyMgI+vv70dPTI35WOp3GxMQEYrEYg1PUEbIsw+fzwePx4MiRI3jyyScxOzuLc+fOYXZ29p6bKNLO4nA48L73vQ8ejwf79u1Df38/ent7MTw8DFmW37UUl06nE8EHi8UCi8WCYrGISCSCQqEgAhFECkmSoNFoRMOvgYGBdduR0W63kU6nMTc3B0mS4Ha70Wg0YLVaYTAYxIt1ojtlMpmwa9cuBAIB+Hw+0YNIkiRUKhVMTEwgGo1iYWGB62uH0+l0MJvN8Pl8+P7v/37s378fw8PDsFqtiMfjOHPmDKLRKP72b/8Wb7755rommHk8Hjz55JMIhUIYGRlBT08Prly5ghdeeAGLi4uYnp5GPB5n0HUHsVqtGB8fh9frxTPPPIMHHnhAJFIoAdF6vQ6v1yt6BNXrda4RWneyLMPpdMLv9+PYsWM4ePDgbcvU3E61WkUikUClUhG7j25nenqayZE7nNLLwGg0wmw2w2QywePx4MCBA7Db7aL/ixLjy2QyOHHiBKLRKBYXF7G0tIRSqdT1fhwbEpi32+3o7e1FIBBAIBCATqeDxWIRgflmswmDwYBYLAan04l8Po9yuYxcLieaz90vJYuq1WqJTD/l96btS/nvXSqVEI1GMT8/j3Q6jWQyiUgkgkQigUwmg0ql8q4PWxaLRZR6UBq/Km99m80marUaH9aoY5RdHyaTCSaTCWazWQSnstksGzrRHVHKigQCAfT29opGTMo57d1IkgSLxQKn0ynKJymB+Hw+j3w+j2QyKV6yE+n1esiyDJPJBJvNBqvVilarJZIu1iMooJQTMRqNaDQaIgjBXi90t2RZRk9PDzweD0wm06o11Gw2kc1mkUwmUS6XVyVu0M6j3I8p/at8Pp8o01Wv15FIJLC8vIxkMvmewaQ7pTRQtFgsIltep9OhUqkgl8shFoshmUyiWq3yOWSHUF5+KzshA4EA/H4/PB6PqN+tPKdqNBrYbDb09PSIHRV8ZqW7obyoNhgMMBgMaLfbYg0p8TQA4h5MKfPVbrfFv1PWoxL4bLVaaDabq36WEpcrlUqIxWKi35+SOPlumDG/8ygNhvV6PYxGIwwGA4LBoDj/mUwm9PT0IBgMiji0x+MR928mkwmhUEg8O8iyjGKxKBJ8Go2GyKAvlUodu+/remBep9PhyJEj+OhHPyoaQWi1WvGXUrkw1Go1PPbYY6jX6yiXy6Ix5/Ly8rpcPGq1GgqFAkqlEt5++20sLi4ik8kwu2Cby2QyuHz5MmZnZ5HJZOB2u0VgKZvNYnZ2FqVS6V0DSpIkIRQK4dixY/B4PKKuPOvJU7fIsgyPxwO/3w+r1QpZlpFOp3HmzBksLy8zY57uiNfrxUc+8hGR+W40Gm+bKa/Q6XQYGBiA3+9HrVZDuVxGtVpFPB5HoVDA1772NdGIOBaLMThPcLvdCAaDGB0dxfDwMAKBAC5evIj5+fl1Ke0gyzIsFotoxt5sNmGz2SDLMoMNdMeUgKff78eTTz6J/v5+BIPBVd8pl8u4ePEirl69ikgkwueFHc5sNqOvrw99fX3YvXs39uzZIzKRU6kUvv3tb2NqagoLCwvr9nva7XY4HA7s2bMHTz31FLxeL9LpNM6ePYvTp0/jrbfeEg1maWcwGo2wWCwYGhrC933f92HXrl0IhULo6elRPaNKkoQDBw7gM5/5DGZnZ/GNb3xDJKTxfo3eiyRJovnq6Ogo9u7di3K5jMXFRRSLRczPzyOZTKLdbqPRaKDRaIg+F0pwUykB1mq1MDc3h1QqJaoXlMtlLC8vo1QqIZVKIZ1Oo16vi35/d1Kei+e/nUWj0cDlcsFqtaKvrw8HDhyA0+nEvn374Ha7RR9IWZZhs9nETjelRCFw4wVRMBhEtVpFuVxGuVxGsVhENBpFuVzG0tISstkszp8/jzfeeAO1Wq0jL382JGNeqXlmtVpFvTPl5natAGe1WkW9XheB+fU4EJVKBZlMBrlcDktLS8jn86hWq2zgtM1Vq1VUq1VkMhlUq1UYjUbUajWRMVAsFt/1QV7JSLDZbAgEAqJ7+FprlsEA6hStVrvqIqPRaMT2vkQiwe17dFtKpovFYsHg4CB27959V9c8SZJgt9ths9nEWL1eh8fjQalUwsWLF+FyuQDcyFqhnU1p1tXT0wO32w2n0wmbzYZisYjFxUWk0+n7vudamSWjNMLW6/Uig4boTij3eGazGf39/di1axesVuuq79TrdcTjcVG6i88LO5vS4NBut8PpdIprX7vdRrlcxtzcHGZmZtYtYULZFaRkPIfDYbjdbsRiMUSjUSwvLyMajYot+LQzKNc/p9OJ4eFhDA4Owmw2w2AwiO+sjLN4vV7s3bsXkiTBarWiXC6LoCnPaXQ7Sjax0jNoZGQEhUIB9XoduVwO8XgcwM3KFI1GQ8RZlFiL0mC92WwilUphaWkJ6XRaJJddv34d+Xxe9OxTqhG0Wq2OBURpa1p53+ZwOBAMBrF371709PTg8OHD8Hq9ImNesfIctzKG19PTA+Bm341isSheEk1PTyORSCCVSkGn04mE8vU+X3Y9MN9oNHDx4kW8+OKLsNvt8Pv9ACD+UiulGWRZhsPhgE6ng8PhEG/nAoGA2ErQaDTENpp3o5wYlL/QsixDr9ej0WjA5/OhUChgYWEBGo0GV65cweLiIoOqO4DyF65Wq4mbkdv9BTMajRgaGoLL5cLIyAjcbjdMJpN4qZTJZFAulxGJRMTuCzZcok6w2+04dOiQ2KKVzWZX3dhw3dG7kSQJe/fuxfj4OPbu3StqJwN4z5sLZYvqyu2lSnkSnU4Hm80Gg8GARx99FG63G5cuXcKXv/xlpFKpbvzRaJNRXmIbjUYcPnwYTz31FPx+P1qtFpLJJC5duoQTJ05gYWHhvrL0JEmCx+PB7t270dvbK26Yie6WxWIRzyVKKYhbH+aq1SoikQimp6eRTqc3cLa0kWRZhk6nE+ce5X4MACYnJ3H16lVcvnwZiURCNC28H0rDToPBgIcffhhHjx7F7t27xYvIpaUlXL16FcvLy6I5IgOsO4MkSSIYNTY2Juoqv1stbyUw32634XK5YDAYkE6nceXKFSwtLSGRSGBubk48FxMBN9aNVquF3W7Hk08+iXA4jNHRUYyNjSESiSASiaBYLIpnilKphKWlJVQqFTz33HN46623RFNNpflmu90WJYWVktW1Wg3pdBrVahX5fF6UDVFeGnFNktlshsVigc1mw65du2Cz2TA8PIxgMAi/3y92giuNsFutlkjATqVSohpLtVqF3+/HwMAA2u02stks6vU6rFYrLBaLKFWnnGMdDgfi8TgOHjyITCaDmZmZdd+ZsSGB+XPnziGVSsHpdCIUCqHdbmNpaQnFYhEejwcejwdWqxX9/f2wWCwYHh6G3++H2WyG1+tFs9kUf2ntdjvsdvuav9fKt3X5fB6NRgM2m03cPAE3Txx6vR75fB5nzpzp1qGgDdRqte7qL5PRaMT4+Dh27dqFPXv2wOPxiE7PjUYD6XQaiUQCi4uLWFxcvKOtVkT3wuFw4OjRo+jv74fZbEY2mxV1TJWbGqK1SJKE8fFxfOYzn4Hf74fdbr/jMlztdhuVSgXNZhPValU02FReUCoZ9I8//jgeffRRfP3rX8fzzz/PwPwOpdVq4XK5YLfbcezYMfzgD/4ggBulQOLxOM6fP4/XXnsN9Xr9vjI7lSDD6OioaMReqVTW649BO4jVaoXf74ff70dvby/8fv+qF5etVguVSgXz8/OYmppi4HOHkiRJvJRWzj2BQAAWiwXtdhtXr17F3//932NxcRHxeHxdmqFrtVo4nU7Y7XY89thj+NSnPgWTySSary8uLuLy5cuIRCIsSbID9fX14fjx4+jv74fL5RLBpHfj8/ng9XqxZ88eHDlyBMViEV//+tdx8eJFXL58GcvLy6hWq+yhQYKyM9HlcuFDH/oQjh07Jl5iT0xM4MSJE0gkEqsC88r9XjqdhslkQiaTQTabhcFggNvthkajQTqdFsF3JeiurDmuPVqL0l8lGAziySefhM/nw+HDhzEwMCCuzRqNRqzFfD6PXC6HTCaDqakplEolJJNJFItFHDhwAKFQCK1WS1yvQ6GQKHljNBqh1+thMpnQarWQy+WwvLyM5eVlxGKxrR+Yb7fbKBQKqxrTtNtt0W25VquhVCrBbDaL/y0UCiJY73a7xcGrVCpwuVxwOp3vWk5EaUCXyWTQbDbFFi/lzR+AVYEGopVkWYbZbIbH40F/fz8GBwfFxUTpZl+r1bC8vIz5+XnEYjHR+IQXFFpPWq0WOp0OJpNJlBJRavQp5zmuO1qLUhPSYDCIl9lms/mOynzk83kUi0WUy2Ukk8lV21GdTie8Xq9olmgwGESzJ7PZDJ/PJxrSMVi6s+h0Ovh8Pvh8PrjdbsiyjFKphJmZGbEdVGmodK+0Wi30er1oRmy1Wlm6hu6JUnLJ4/HA6XSqyhRWq1UUi0Vks1nUajVeZ3cwZZeOkmkXCoXEs2mhUBAlGVKp1Lo9V2q1WlitVlEKTNnJkUwmkc1mEY1GEY1Gkc1muTZ3EL1eD51OB6fTKZoZKpnySlxDeUZQmsMq/16SJOh0OtGU0+/3o1AoIB6PQ5bl99xJTjuHJElwOBzo6+tDMBiE1+uFw+FAvV5HJBIR5zvl+qhQMt2VXUPKbh4AKBaL0Gg0onIB1xndjvJMYTabEQwGEQqF4PP50N/fD7fbDYfDIc5lhUIBrVYL1WoVzWYTkUhElC2fm5tDpVJBNptFuVyG2+0WmfLT09PIZDLifrDdbot4X6vVgiRJcDqdGBkZgdFoxKlTp5BOp1f1SL3vP+e6/JS70Gq1sLy8jEQiId6+KQ0i2u22yEJW/p1Go4HdbofRaITL5UIoFEKj0cD8/DwKhQICgQACgcCagXklWFWr1RCNRtFqtfDZz34WHo9HBFzb7TZyuRwSiQTrRZKKy+XC7t270dfXhw9/+MMYGxuDzWYT5ZCKxSLy+TxOnDiBt956C9evXxe1HbmWaD2ZzWbR36C/vx+hUAiZTEast2q1yoABrUmv1yMcDsPpdGLXrl3w+/2w2WyiFNe7ZUW1Wi1cv34dly5dQiqVwrVr11AqlcTNtd/vx9DQELxeL5544gn09vaKX+tyufDwww8jHA7j7bffxvz8fDf/yLTBzGYzHnroIezduxf79u2D0WjE/Pw8/vIv/xKzs7O4ePHifb2s0Wg0MBqNMJvN6O3txZ49e0SQgs3Y6W5JkoRAIIDDhw9jZGREVSIzk8lgcnISU1NTKJfLGzRL2gz0ej2OHTuG48ePY2hoCMePH4dOp0M6ncbc3BwuX76MU6dOiWvlepBlGeFwWDzz2u12JBIJnDt3DsvLy3j99dfx1ltvsf7yDqKUFTGZTNi9ezceffRRWCwWkdmZTqeRzWbFS0WDwYDh4eFVVQaU66her8fhw4cxPDyMer2O7373uwAgAvu0cykxud27d+MTn/iEuE4GAgGcP38e77zzDq5fv4533nkH8Xhc1U+j2Wwim82K4CZwY11ls1nx7/ncSu/FarXi6aefxsjICEZGRrB7925RSUXpeaDX65FIJDA7O4tyuYxoNIpCoYDXX38dr7/+OqrVqtj5rbx4LJVKok/CX//1X2NhYQEf+chHoNFoYLFY4PP5oNVqxa/ZvXs39u7diytXruDkyZPIZrMolUqoVqvr8ufsemAegMi4u1PpdBoGg0HU7a7X65ifnxdZfOVy+V0D88o2aaVDdDabFW82lMB9pVIR9cZ5cqCVlA7OTqcTPT098Hq9osO98jZO2RKjdGzmRYY6QdlKZTQaYTQaYTKZkMvlxPmMW05pLZIkQa/Xw+FwwOPxiAc5WZZFs/OVa0f5/yt3my0tLSGZTGJ+fn5VYL7RaMBoNKLdbos+Lsq1WGkMpZSQUxo9cWfa9qbsRlS2KgcCAVHmqFqtYnl5WZR7u5/z1crAvPKPJEloNBoi0YPnRLobZrNZZCTfuvOiUqkglUohk8nwHLbDSZIEm80Gn88ndlhIkoRkMolSqYRisSjKCt5vUFPZKak0tuvp6YHFYhG9NGKxGJaXl5FMJpHL5dbpT0hbgXJvpzQDdjqd0Ov1ACAacSYSCVSrVRQKBRiNRvj9fuh0OtEcXWmcqKxpWZZFCbqVmc68ju5MyhrT6/VwOp0Ih8Pw+/2wWq2QZVn01otGo2J37VrXx1tfFioJuUTvRbkGWiwWkZgYDoexa9cukWStlJWu1+soFotIJBIoFosiS352dhbT09Orng8UmUxGxIHj8bhIHld6CCnPNMp50mKxwOFwIJlMilKu67lTd0MC83dLKQ2iXCSUbQr1el2cDNai1KuSZVlkCCrbIBqNBuLxOFKpFC5duoQzZ84gHo/zzTCtYjab0dfXh97eXvGXXwk8FQoFXLp0CbFYDBMTE5icnES5XOYaonUnSRLcbjeGhoYQDAbFTqNKpYJCoSBqQRKtJMsyrFYrvF4vvvd7vxdjY2MYGhpCT08PdDrdmsEnJfA+MzODbDaLEydO4PXXXxc3OyubZadSKaRSKezatQvHjx8XJUtkWYbP58PTTz+NZDIJWZbR19eHhYUFTE5OMgtrG1N2ZfT29mJ8fBxjY2PQ6/VIpVKIRqNYWFjAwsLCfddltFgsePDBBxEIBDAwMADgxtZopfZjKpVCuVy+r/r1tHMo19jh4WEEAgFR7kF56T07O4uvf/3riEQibPpKALDq5Z/StyqXy4lg5v1krisP+/39/di3bx98Ph+eeuopBINBDA4OAgAikQj+7u/+DvPz89yRtgNptVp4PB709PTA7XaL5IeFhQXk83k8//zzePvtt0XyjtVqxeHDh+Hz+bB7926xM0jZPakkbBw6dAif/exnsbi4iK9+9auYn5+/714wtLWsDMjv3bsXg4ODOHToEA4cOAC73Q6dTodCoYCrV6/i29/+ttidUa/XeW9P60IpixoMBrFv3z4EAgE89thj2LNnDxwOB6xWKwCIRLHJyUksLS1hcnISb7zxhrgeKwlBSvL1rbES5cV3vV4Xu8ivXLmCVquFPXv2IBwOw2KxiJeVaz07r6ctEZhX3qrVajVVED6bzYrtMO/GZrNhZGRENLszGAxoNBrI5XJIpVJYWFjA9evXUalUeEKhVYxGI9xuN1wuF2RZXvWXsVwuY35+HpFIBIuLi4hGoxs4U9rulMZ0brdbXDzq9bq4KDEwT7dS6m+7XC4cOXIEDz74IEwmk8guvnWnWbPZFDczU1NTiEajeOedd/D222+LsnAr11mxWESxWESr1UI2m0WlUhG9W+x2Ow4cOIBisYhoNAqtVitK43CHx/ZlsVgQDocRCoUQDofR19eHbDYrmn4p9eXvl9FoxMjICIaHh+Hz+cSLylgshlgshnw+z7IOdFeUhmJKjXngZo3ceDyOs2fPIplMqrbq0861coeZsoNWOe/cT31ujUYDnU4Hr9eLBx54AH6/H0eOHEFvby+MRiOAG7vJ33rrLczNza3nH4m2CKXvgNvthsVigSzLKBaLSKVSiMViOHHiBF588UVRGthut6NQKKC3txeSJMHv96PRaMBqtYqGxgCwa9cuPPXUU7h+/TrefPNNxGIxtFotBuZ3kJU7HwcGBnDo0CHs3bsX/f39MBqNKBQKqFQqWFpawoULF1CpVJiYSOtKuQa63W6Mj48jGAxi7969GBoaEs+u9Xod5XIZpVIJ169fx8TEBC5evIiXX35ZlJd5rzWp0WhEQpny/Lq0tIRisShK2Chl1rthSwTm75Wy/cHpdGJ8fByDg4MIhUKQJAmFQkF0Ho/H42z+SoJOp8PIyAgCgQDGxsYwPj4Oj8cDi8UC4MbNcDqdxszMDN555x0sLy8zg4o6SpIk0WfDYrGIi4WSgby4uMgbIlqTcnOj1+thMBhEwEmh9FkpFouYn5/HuXPnkMvlMDk5iXQ6jcXFxXdtLKxsG8xkMrh69Sq0Wi0GBwfR39+/apv18PAwDAYDisUizp07J26kGDTdfiwWi2gQppyrMpkMrl27hrm5ubsqY7gWpVmd0ohscHAQDocDwI1GxRMTE4hEIqJsIV/+0O1otVrRTFNpVqysW+Bmr6pSqSSyAvmsQLfS6XTweDzQ6/V44IEHkEwmUa/XRZA+Fou9ZxKZUjrTYDDA6XTCYrFgz549OHjwoCgvotfrRVZ+LBbjNXSHU3ZWaDQatNttlEolTE1NrdrZo7w4qlQqWFxcRLFYxPDwsCh9pGSBKsEu5fsr6zDzOrqzGAwG9Pb2wm63Y/fu3RgfH4ff70etVkOxWMSpU6ewtLSES5cuifgZ1witF0mSYLfbYbPZxK4xr9crXiIqZWtSqRTOnj2LdDqNM2fOYGZmBouLi++5JpUXkTqdDrVaDTMzM2i32xgfHxcZ8larFUNDQzAajauS2HK5HJLJpNiZtN4JQNs6MK9kC/r9fjzzzDN44IEH4HQ6odFokEgk8Morr2BhYUHUzeVJhYAbN8dPPPEEHn/8cfT19YnGdSaTCe12G4uLi7h06RKuXLmCf/iHf1iz2QnRerPZbOjt7YXH44FWq0W9XsfFixfxne98B9evX2ewgFSUrHidTgeTyQSLxaLKkm+1WojFYohGo/jud7+LL33pS8jlcshms6Kny7utLaXhsFarxRtvvIFIJIIPfvCDCIfD0Gg04uX4Qw89hKNHj6JSqeA73/mOaEjGoML243K5cODAAfT29oqat5FIBCdOnMDc3Nx9N840GAxwuVwIBAIYHx/HwYMHYbVa0Wq1EI/H8dprr2FhYQGRSITri96TTqdDIBCA2+3G4OAgBgcHxVZlpQ5urVZDLpdDJBIRfV2IVpJlGbt27UKr1YLFYsHu3bvRaDREH7STJ0/i2rVrt/0ZDocDIyMjsFqtGB4ehtfrRSAQwNDQkHi53m63MTMzg6mpKUxPT9/3i07aupSs5pVB9Uwmg5MnT2JmZgbLy8sAbtbzLhQKuHjxInQ6HQYHB/HAAw+g3W6jt7cXBoMB7XYbkiSh2WyKXoArSxfSzqE0FPb7/Xjsscfw1FNPiSbCS0tL+NKXvoRTp04hlUqhWCwyfkbrSqPRwOfzIRQK4YEHHsBTTz0lXlYDEH0zJicn8ZWvfAXz8/OYmZkRL6tvF5RXXmQqCRmlUglnzpyBx+PBBz/4QXi9XphMJlHaSymZo4jFYqLhcTqdFqXr1su2DszLsgyn0wm32y3evOj1erElK5fLibcdPKkQcHOXhd1uh8/ng8vlgtlsFg11ms0mcrmc2GlRKBRQKpUYFKWOWFnnz2q1iox5pYGJUo7rfhsp0vallN9SGtcolAbotVoN8XgcCwsLiEajSKfTyOfzd3xeU0oqZTIZmM1m5PN5VKtVEUhQMhOUjH1lHms1bKetS/lvqmR9Wq1W8d+/WCwiFoshnU7f9w2skk2q3KSbTCZIkiS2tCo72hiwojuhNBG2WCwwGo2r6oe2221RrktpascAFSmZyZlMBh6PB/V6HTqdTmx3V8oOKqUGK5UKwuHwe5YCsdvtCIVC4tcrjWVNJhM0Gs2qhuyRSATJZJIvH3cwSZJgNptFiV5lTHmOvbUOsnKvpmTAKw1gV35vZXa9knXKjPmdRzmP2e12cW1sNBqiSWYmk0E6nWZSK3WMVquFXq+HLMswGAzQ6/Wr7s2Ul4bKP0oQXUkKW/mMqZScU36mVquFy+WC1WpFMBiE1WqF1WqF0+mEy+WCwWAQGfWSJK3qJ1MoFBCNRkW1lfUuy7qtA/PBYBDHjx9HOBxGb28vrFYrms0mSqUScrkc4vE4YrEYKpXKRk+VNgGl67PT6URfXx+Gh4dhtVrFDY9yo3LhwgW88MILomszG29Sp+j1egSDQdjtdhw6dAiPPvootFot0uk0crkcrl69ikuXLqFUKjFgQHelWq0iGo0im83ia1/7Gk6ePImlpSWkUinRcP1OVSoVTE5OIh6PY2RkBCMjI2KHx62lc2h7Ul4gut1uDAwMwOfziV1ms7OzeOWVV1AsFlEqle7r9wkEAnjkkUcQDocRCARgsVjE1tL5+XlcuXIFS0tL9/370M6g1+vR29uLvr4+OJ3OVf+uXq/j8uXLmJ6expUrV5iAQQBu9D2bmJhAuVxGNpvF2NgYHA4HLBYL9Ho9enp6YLFYRFPYVquF3bt3v+c5SavVijJKSraeEoxoNBrIZrMolUp4++238eKLLyIWi/E8t4MZDAaMjY1h37596OvrgyRJsFgsGB0dhdVqxfT09Jq/TpIk0aTdarWq7tFyuRxmZmYwNzcnaonzGXdnMRqNCIfD6O/vh91uB3Cjp9Ti4iIWFhZE/IMvBqlTViZw3RrfUK6rsiwjFArBaDRi7969q+J4K2vCK0F8o9GInp4eGI1GeL1e2O12Ecg3Go0IhUIwm80isK/8o7yMr9fruHLlCl588cVVfwcYmL8DkiTBarUiFAqht7dXZD3XajXRpKJYLK77FgTaupTMKZPJBKvVCofDITI8lV0WlUoFiUQCMzMzKBaLd9RYguheaTQa0Q3c4/EgEAigVqshkUggn88jk8kglUqt+4WBtqeVGQQrd1zMzs5iYmLins9pzWZT1F7OZDIoFArQ6XSqn6Nkc3Wyoz1tDCVLz2AwwG63i8yVVquFfD6PSCSyLs3jzGYzent74ff7YTabodPpRMJFoVBANpt9z1rORIqV11glCUPRarWQSqWwsLCAVCrFaywBuJF9l06nodVqMTAwgEKhIDL7lEabym4h5Vrn9XpXZd29l1t3lSnNrUulEmKxGKanp1EoFPiyaAfTarVwOBzwer0wm82ibKHT6US5XBZNgleuI+UezGg0ilIOStku5XtK2ZtCoSAy7GlnUXqvOByOVRUDSqWSaKrJuvLUDco1c62dO1qtFna7Ha1WS+yidTgc8Pl8q54zlSoDyvOD0WiE3++Hw+EQPc+UXSLKel/5+7daLdRqNZRKJSSTSczNzSGTyXTkpeW2C8xrNBpR7mFsbAzHjx+Hx+MR/+EuXLiAM2fO4Nq1a5ifnxcZz0QejwfPPPMMgsEg9uzZA6PRKG6uq9UqpqenxV9IZd3whoU6ScnmCwaD8Hq9YjthJpNBMplEuVzmzRG9J+WBa+UDWjQaxV/91V9hfn4e77zzDrLZLOr1+rqspZWZBit/z2AwiMceewyRSASvvfYar73biJJ1YjAYYLVaIcuyaDQXjUbX7RyllLKx2+0i069YLCIej4uGr0R3SmnaqeyqlSRJJGIUi0VMTk7i7bffxuzsLJN4CMCNB3Xlevn222+LIJbX64XFYoHb7Ybb7RY1400mkwhkpVIpLC4urrmW8vk8FhYWoNFo8Nhjj2H37t3i39XrdcRiMaRSKSwvL/MZhETTQqX86tjYGAwGA3w+HyRJgs/ng8fjgdFohNVqhdFoFA099+/fD7PZDI1Gg1qtJspmarVauN1u0ZPv5MmTYqcbd2fsHEajEUNDQxgZGYHb7QYAWK1WDAwMwGw24+GHH4bT6UQikUAymUS1WkU2m+U1ktZFu91GIpFAo9FAIBDAzMwMenp60NvbK3aV2e129PX14cknn0SlUhExO4PBAIvFIl44Kv80m03xfKL0XVPKbwI3n2FWzkHpqVAoFHD69GksLCzg3LlziEajqFQqHXkxvm0D8z6fD6Ojo3j44YfFf4Rms4nz58/jL/7iL0RHXZaxIYXH48GHPvQhDA0NiYuPolar4fr165ibm8Ps7CzS6TRviKnj9Ho9AoEAdu3aBY/HA7PZjGKxiGw2i1QqxR0/dMdurekei8XwV3/1V7h69eq61chb+QJgrcB8KBTCo48+iqmpKZw5cwaJROK+f0/aeEpm6FqB+Ugkgng8vm6BeaV3kN1uh1arFTfPSmCe50O6G0qt0d7eXthsNgAQ2VHFYhFTU1M4ffo0isUi1xYBuBmYV+7DJiYmROkHm82GoaEhDA8PIxwOo6+vD0ajUezWXlxcxFtvvbVmD4zl5WWcPHkSGo0Gfr9fFZiPx+NYWlpCPB7nMwihXq9jdnYWtVoNIyMjaLfbkGUZPp8POp0OPp8PPT09cDqdoiTm4cOH4fV6sX//fphMJrRaLZH1qfRI8Hg8MJlMsNlsCIVCSKVSiMfjDMzvIGazGUNDQxgdHRUNN5XAvNPpxIMPPgiPx4PJyUlcvXoVuVyO10haN61WC8lkErlcDqFQCLOzsyiXy7DZbKL+u9Jfo6+v77Y/p91ur+qxduuzsLLDbSXleaVQKGBqagqxWAzPPfcczp49K3bmdiohctsF5iVJEmUfVmZU5fN5VCoVpFIppNNpFAoFnkAIwI3u42azGT09PXC5XKKEDXAjIF8ul0Wm/NTUFLc0U9doNBqYzWbRuBq4sSaTySQSiQRfLNJtmUwmBAIB+P1+VZmGldsD75dWqxUNOZWGOko2wkq5XA5zc3NYXl5el7ImtDko66jZbKJaraJYLKLdbot6j0rjJgD3fN+llECy2Wwi4KBkupTLZVFCicEquhN6vR4mkwkulwt+vx9+vx9WqxXAzcZi9Xod1WoV5XKZzYRpTco5TylvU61Wodfr0Wq1kMlkRGlMZQ1FIhFMTEysmWmXzWZRKBRgNBpFaRFlDWYyGVH3m88gBNxYe7lcDrIsi+bUwI2gaqPRwOjoKCqVCqxWq+h70N/fL+ovK9fMubk5tFotDA0Nwev1otVqQa/Xw2w2IxAIIJ1Oo1KpIJlMbvCfmLpFKcllMBhEFrFSBslgMCAYDEKSJFG6MJPJwGq1olAooFqtolarifKGwI3n1maziXq9vmpnrvIzdDqdeHmp7FjjOW5nU+7DkskkLl68iEgkgmw2K54ze3p6xHlKq9WKRtVKk/SV68dgMIi1rJT9up1cLod8Po/FxUVMTEwgHo+Ll5O1Wq2ja3PbBeZ1Oh3C4TDGx8cRDodFXXnlZubatWuYnp5GvV5nbT4CAPj9fgwODmJ8fBwDAwPo6+sTQaxcLofZ2VnMz8/jG9/4Bi5dutTRN2VEKylZL319fXA4HABuvGS8cOEC5ufneaNMt+Xz+fDII48gGAzC6XSuOm+t5znMaDRiZGRElAHr7++HTqcTGc1K1sL169fx1a9+FclkEul0et1+f9p4yoNUNpvF4uIiHA6H2D7v8XhgsVhEf5+7DZ5LkgSTyQSDwYBQKIRDhw7BbreLAFYikcDk5CQikQjv6+iO2O12hMNh7Nq1C0eOHMEDDzwAg8EgStkoazWXyyGdTq/briLaXpRggFL/XaPRYGpqCnq9HjqdDl/+8pdFrw0AolfVWmtJeVnU09Mj/r1SCmx2dhb/8A//IIIEXItUr9cxNzeHRCKBSCSCUqkEWZbh9Xrh9Xrh8/nwQz/0Q2I3m0ajEX3TotEorly5gqmpKTz33HOo1Wr44R/+YRw/flw0T+zp6cGDDz6IQCCARqOB2dlZrrsdQum9orysBiB6GNhsNjz88MNoNBqo1Wqo1WqIRqP47ne/K0p1JZNJkdGsZD+Xy2WkUimkUinxM7VaLbxeL2w2G5LJJBYXF0VZHCbv7GyNRgOSJOHKlSuIRCLQ6/Ww2WwwGo04fPgw3ve+98Fms2FgYABGo1EEzUulEnK5nNgFpNFo4PF44PF4YLPZ0NfXJ5J61tJqtTAzM4NLly5hcnISzz//PFKpFBKJhEg66qRtF5iXJAlmsxkOh0PUT6vX68hms0gmkyJzns0SSSmzYDab4fF44HQ6YTabV70hVprg5PN5pNNpJJNJXiyoK1ZmJ1gsFlGOS8meSqfTzOKj2zIYDHC73XC5XNDr9et2zVu5JVB52FMe5JSthkrjnZU1/pRdayw5sv20Wi1RAkRpPKdkylutVjidTpRKJZEFczvKtlPlHyVT3mQyiYC/Umqu2Wyi2WyKjFTe19GdUBogms1mWK1W2Gw2cV5T1rGS+cdzFd2OEnS/33VisVhE4EG5ftZqNXG/l0gkkEgkUC6X73vOtPUp91Ttdhv5fB7ZbFYE1fV6PYxGIyRJEtdEJRO50WiIJsLLy8uYn59HrVZDKpUSjYw1Go0oG1cqlURdZ8ZOdgZlrdRqNeh0ulWNNJWeGop2uw29Xo++vj6YzWZRUslsNsPpdKLZbEKv16NSqYgXlso5U6fTwe/3i9KElUpFrOlqtYpqtcqYyw7WbrdRLpdRLpdFgo4sy/B4PCLhTEnaKZfLqFarKJVKyGQyYteuUqLLbDZDp9O96/mr1WqJ9ZZMJrG0tISlpSXEYjGk0+mulQ7eNoF55U2eUudv79698Pv9IoPrxIkTohYWmyWSsn1KlmWMjo7imWeeETVGtVqteEArlUpYWlrC8vIyCoUCarUat8pTx63cZr9r1y4MDQ1BlmXE43HMz8/j4sWLois40btxOBziWrgy8+V+KOdOvV4Pi8UCh8OBYDCIJ554AiMjIxgYGFi1TVB5eKzX66JZsZJBT9uH8sCulH7TarUYHByE3W7Hk08+CavVing8jjNnzqBQKNz2Z9ntdtjtdsiyDLvdDr1eL16cHzhwYFU9yJWZzMxqpjullFlStkGvPGeVSiVMT09jeXkZuVxuA2dJO4nb7caTTz6JUCiEYDAIAJidncVXv/pVRCIRLC4uolAocFcQAYDYqaE0If7jP/5j9Pf348Mf/rAo86DT6URwvlwu49KlS0gkEjh58iTefPNNUSJJp9Ph2rVrcDqdGBkZgc/ng8FgwMDAABwOB86ePQuPx4NKpYJcLsfn4G0un8/j5MmTSCQSGBsbQzgcftfvKiWkjx49KkoZKkF4WZbFM0Cj0RDB9pWlbJRgazabRTqdRrFYxOzsLLLZLN58802cPn2a93WEdruNWq2GRqOBS5cuIR6Piyx6nU6HRqMhytisTFrU6XR47LHH8Mgjj6DVaqHRaKwq7ar8mkwmgzfeeAPRaBSnTp3C+fPnkclkkEwmu5qgsa0C80pNLLfbjWAwCIfDIS5Gk5OTOH/+POLxOC8oJDrQGwwGBAIB7N27F263W2QYKCqVCjKZDDKZDKrVKm+IqStWZvP19PTA6/WiUqkgn8+LrYKRSGSjp0mbnNFoRG9vr3jIWi9KNpbVaoXX60UwGMTo6ChGR0dXNc0GbtxMKdv3lXInvAZvP+12G81mE7VaDYVCQZSxcTqdGB0dhdVqxcLCgjiHvRtJksRWfLPZDK/XK3Z+WCwW+P1+USLp1t+f6E5ptVrIsgxZlldlAwJAtVpFPB5HNBplHxfqGovFgtHRUYTDYfH8mkgkcO7cOUSjUVHDnkjRaDTQaDRw/fp1AMD4+DgeeeSRVT32AIh+BfPz85ifn8epU6fw6quvigx6k8kksufdbrfINu3p6YHRaITb7YbVaoUkSezlsgOUy2VMT0+j0WjA7/ffNjAP3OhrMDAwcF+/Z6VSQbFYRKFQwJUrV0SJptOnT9/Xz6XtQ4nBRSKRO46BaDQa9Pb2Ynx8HFarVfWsoOwOUcoET01N4ezZszh//vyGPK9um8C81WrF4OAgPB4PQqEQPB4P2u02otEolpaWEI1GEYvFUCwWN3qqtAnIsozBwUH09PRgaGgIfr9fbNVrt9tiS9+1a9dw+vRpxGIx5PP5jZ427RB2ux1DQ0MYGBgQtZSz2SxisRgymQy31tOG0el02LVrF3p7e0VNeY/HA7/fD6PRKB4GlbJLlUoFFy5cwOLiIi5evIhcLte1LYHUfalUCufOncPy8jLsdrsoX+NyuSBJEh555JHb3ocpGVRKFpWSDaNsWbXZbKsCqUrw6tq1a4jFYnx5TnfEYrGInkImkwnAzbJI2WwWk5OTWFhYQDab3eCZ0nanNE4fHh7GyMgIQqGQaOCpNH9lM0S6nUKhgKWlJRgMBrz22mvw+/3o7e2F0+kUWaKpVAqnTp3C3NwcFhcXV+1eXFlDXq/XY3h4WJSIsFqtGBgYwOHDh7G0tIRsNsvr7DZXKBRw4cIFRCIR1Go1zMzMwOfzYc+ePdDr9SKBUZblVZ/vh1K6FQBCoRDsdjv27t2L+fl5ZDIZzM/Ps6wN3TFZltHX1we73Y6xsTEMDQ2Jsq4rRaNRTExMYHl5GRcvXhT9+zZqB+62Ccy7XC48/PDDCAaD2LdvH0KhECKRCCYnJzE9PY3p6WnMzs7yLS8BuJFJ+sADD2BkZASHDh1Cf3+/aBLRaDSwsLCAhYUFnDx5Et/4xjeQy+Xec/s90XrxeDw4evQo+vr6EAgEYLVacf36dczOziIajfKmmDaMXq/H+Pg4Dh8+jL179+L48eOiLJhSGxy4URtX2Zr6jW98A6dOncLCwgLi8TjrlG5jy8vLePnll+HxeGA2m5FOpzEwMIDBwUFxf/ZelDqjCo1GA6vVKnoXrHwIbLVamJ+fx5tvvinqghO9F7fbjX379iEYDIoyX8pWe6XkktJYkahTJElCIBDA6OgoDhw4gGPHjsHv94u1WC6XUSqV+DKbbiuZTIo+aNVqFW63G4cOHcLAwIAoI5hIJPD1r38dMzMzolGiol6v4/z587hy5Qrq9Tp27doFr9eL8fFx2O12HDhwAABw4cIFXLp0CaVSaaP+qNQFmUwGr7zyCvR6Pd555x34fD48+OCD+OEf/mGRHCFJEmw2G+x2OwDcd3BeKb2klMis1WpIJpNotVqYnp5GIpFgYJ7umNlsxpEjRxAOh/HII4/g8OHD0Ov1qsD8zMwMnnvuOSwvL+P1118Xz6gbFS/e8oF5ZSuq0+lEb28vent7xVb6crmMaDSKeDwuGr4SATfezLrdbvT29oqmI0oWXqvVQiqVwvz8vNhlUalU+FKHukan08FsNsNkMon6tysbNzGoSd2mlBOx2+0IBAKiYbbFYlHd6AA3658qjXiU5uusL7+9KVtCdTodFhYWxHVVq9WK8nG3lg5ZSekLlMvlRMaKTqdDIBCA0+mELMsiw3nl76mUmuPaotvRaDTQaDQwm83weDxwuVyrdvnUajVRRzmXyzEQQB2nlPyy2+0wGAzQ6XQoFosol8soFosolUqoVqt8BqF3pZSSq1QqSKfTqNfrWFhYAHDzhWM6nUY2m0WpVFKd15T6zc1mU5Sbk2UZzWZTnC/dbjdsNptoDsv1uH0pDdAbjQay2Sw0Gg0WFxdx7do1WK1WEZh3uVxwuVzis5JEYTQaxT3f3VCC+0pvBKWZscViue19I5FCeUZwu90IBAIIhULi2WFlPyGlJn0+n0c8HkcymUS5XN7we74tHZiXJAl+vx+hUAjj4+P4yEc+IrJLy+Uypqam8OKLL4rafEQKk8mEo0eP4vHHH4fdbl91wq/Vanj99dfx4osvIpFIIJ/Piy1/RN0gyzJcLhecTqe4sanX6+IlEYNP1G3hcBif/OQnEQgEMDIyAr/fD7fbDa1Wu+b3q9UqYrEYotEorl+/jqtXr6Jer/M8us1VKhVEo1GkUimkUimYTCYEg0GEQiFRq/bd1oxienoa169fF2vFbDbje7/3e3Hw4EGEQiGMjY2t+hnKS0smX9DtKA/6RqMRu3btwrFjx+ByuUTGX7lcRjqdRiwWw9zcHObn57kDgzpKeY4dHx/HwMAAZFlGo9HA3NwcIpEIJiYmMDs7i0KhwLVI76lUKmFqagparRYzMzMwGo1otVqrytmsbL65kpIlury8jNOnTyMcDmN8fBwejwderxeSJCGdTsPhcIhnEe7e3b6UJJpEIoFsNotkMonz58+Ll9uSJCEUCiEcDovkRoPBgIcffhgjIyNwOp0IBAL3HFBXAv/hcBjpdPo97xuJAMDn82F8fBy9vb348Ic/jJGREfT09IiXPcCNtZ1Op1EoFDA5OYnTp08jm81uisoYWzowD9yoE+n1ekWAPhAIiItFNpsVtYJ4Q0MrKU1tgsGg6qLRarWQTCZx/fp1lMvljgblb92W/26YZbqz6HQ6mEwmGI1GaDQakQ3DjHm6H7eeayRJWjWm3HCv9V2n04k9e/agr68PPp8PNptNNANb6xzWaDRQKBRE5il7dOwMSp1upVk1ALFjQslSvl0WVbvdxsTEBK5cuSLOcxaLBXv37kUgEIDNZkOr1VI9pG1UPUjaWlY2ru7p6YHT6VyVQaWUUSoUCuxJRV1hNpvR09MjSkS0Wi3k83kkEgkRPCiXyxs9TdoClAxQ4MZ1924o19BisYh4PA6LxYJarYZ2uw2DwQCn0wmbzSYqFawshUPbU7vdRrVaRbVaFX0MVkokEsjlcpAkSTy37tq1S/ScuvWeTFljK+/XlGeIW58lJEmCXq+HzWaDyWRixjy9J0mSYDabRaZ8OBxGX18fZFletbba7TbK5TJyuRwymQxSqZRIwt1oWzIwL0mSaDixd+9ePPPMMwiHw7BareJtbyqVwvT0NObn55HL5XgBoTumXAyU7fJ3EphXsvVWXmyUi4hOpxNbpVf+fK1Wi97eXgwODr7rBafdbqNSqeDixYuIxWIbWveKusdut2NkZAQ+n0+U5kokErh69Sob4NA9ufWm12w2Y2BgYNX5ZNeuXTh48CCMRqPYiqrw+/04cuQIbDYbzGazuAa/28vFpaUl/O3f/i0WFhYwNzfX2T8cbWqFQkE0lUskErfNfGq326Lx0sqxYrGIdDqNcrm86t9JkgSr1Qq/349yuYxsNstrJK1Jo9HA7XbD7/fD4/Gs2tbcbrcRj8cxMTGBubk5XmOpKyRJgtvtxsjIiGiQXS6XMTExgVOnTmFycnJTBAto58hkMrh8+bJoAFqr1eByueBwONDb24ujR48iEAjg4sWLqkAt7SyZTAbT09MihmE0GjE4OAij0Yh6vY6+vj5otVq02220Wi0sLS1haWkJuVwO169fR7PZxPDwMLxe77smSxK9F0mSRMmj/fv345lnnhFJ20oJGwCi0XWpVMLbb7+NS5cu4ezZs6Lc+WZI7tmygXmDwQCj0YjR0VF88IMfhNVqhcViQavVQjwex+zsLGZnZ7G4uMhMA7pryptf4L0D88pfZCUor2ynV+qtybIsOo0DEPX69Ho9RkdH8fjjj79rjWal3m4ymUQqlRLjtL3ZbDYMDAzA6/XCZDKh3W4jlUphamoK8XicQQO6I0rQfK3AudFoRF9f36qx48eP49Of/jTsdjscDgdkWRb/TjmfSZJ0R9nJsVgML774ImZnZzfFzQ5tnGKxeF/Zx0pgPpPJoFQqqdaTxWKBx+MRTdp5jaS1aDQaOJ1OUXN0ZQBAucZOTk5iYWGB11jqCiUwPzg4CIPBAEmSUKlUMDU1hbfeeguJRIIluqirlB4vxWIRExMTaLfbGB8fRygUgt/vx8GDB+F2u7GwsMDA/A6XzWaRzWbFZ6PRiMnJSZjNZlgsFjQaDciyLALzy8vLOH/+PBYWFvDqq6+iXq/j/e9/P8bGxjA8PHxfpW9o59JoNHA4HPB4PBgbG8MTTzwBh8Mh+vQplN4JpVIJ77zzDl5++WUsLy9vqh4uWzIwbzKZsGfPHni9XgwMDIggp7LdZmFhAVevXkU0Gt00B5q2Dq1Wiz179uDRRx8Vf4FvF1hqtVqratEruzOUjFO32w2n0ym+r7xY0ul0GBoawq5du1Zl1CuU4Fcul8PAwIDIGIzFYgx0bUOSJMFkMsFgMMBut8NkMkGWZd6k0D0rFotYWFhAo9EQme4Kq9WK8fFx+P1+MTY0NCRqMK9siK14r7JbyovEfD6PWCyGer3OcxWtu1tfNtVqNVHugfd8dDs6nU7s9lE0Gg00Gg0kk0nMzMxgeXmZgXnqKJ1OB7fbLZpqGo1G6HQ6UQu8WCwim80ysYy6Trlnq9VqWFxchCzLCAaDaLVaMJlMoheCx+OB2Wxe9dxLO5tShisej6vKV0qSBLvdjlAoBI1Gg927d6NeryMcDiMQCMBut6vKjShlEZWSSkRrkSQJDocDfr8fLpdLxNhW7ohUnk8nJyeRTCYxNzeHVCqFYrG4qdbWlgvMazQauFwufPKTn8SBAwcwNDQEn8+HWq2GTCaDTCaDEydO4LXXXkMikeDNNd01k8mEj33sY3j66acBvHeGeq1Ww8WLFzE/Py9qk2o0GthsNhgMBoyOjmJkZERVO00pyaRkybwbpT5zMBjEmTNnmEGzTWk0Gvh8Png8HvT19cHhcMBqtUKr1TLYRPckHo/j9ddfRzAYhNfrXfWCsLe3Fz/yIz+yqmeBwWCA2WwWteZvvVlptVqQJOld12Oz2cT09DQuXbqEc+fOoVKpdOzPRjvPu+3+yGazWFxcRKPR4LWR3pUkSTAajbBYLDAYDKKed7lcRqVSwcTEBF566SUUi0UGRKmjTCYTDh48iGAwiN27d8Nut6PVaom1pzQgZvlK2gjtdhv5fB4nT57E5OQkAoEAjhw5ApfLhQ984ANIJpM4d+4cFhYWkM/nkUqlNlVwizZGs9lEJBJBo9FAf3+/uB9TnikGBgYQDAaRSqUQCATQaDQwNjaG3t5e6HQ6VZnDcrmMTCaDYrHI8yC9K61Wi76+Phw8eBADAwMiyVF5Xmg2m2g0GpiZmcGf/dmfYWFhQezc2GzX2C0VmNdoNNBqtTAYDPB6vQiFQnA4HCJbPpfLIZ1OI5VKIZlMirqmRLdS6kxVq1VVVrLy5s3hcNzRz6rX66LJTrlcRj6fXxWY7+vrQzgcvqP5tFotVZ0rpRyO0WiEXq+/o2axtPUoTUucTifMZjN0Op0IHDQaDdTrddRqNTZ/pTtWrVaRTCZhNBrFVj3l/KHX6+F2uwG8e+PMW2t5r/yusjVVOWdVq1XUajXEYjEsLS0hlUoxSEpd0Wq1UK/XN9XNNW1OSv8gJZtKufeq1+solUrI5XLceUEdp9Vq4XK5RCN1JQGjVquhUqmI6ylw89p76zWYqJOazaZ4tlV2QiqNs5vNJpxOJ5xOp/ge7/dI6YunNE+vVCowGAwidqE0Dm42m/B6vWg0GnA4HLBYLKt+hnJNVnYOsUQh3Y4Sc/N4PLDZbKuy5YEbcbpKpYJcLoelpSVEIhFks1lUq9UNnPXatlRg3mAwwOFwiKB8OByG0WgEcCMz8Gtf+xoikQguXryIeDzOABa9q1qthpmZGVy8eBHBYBChUOieA95arRYDAwPw+XxoNpuo1+uiwatS90qhXFhuvbEul8uYmZlBPp9HOp0WN0MAUKlUcPr0aUQiEcTjcV6ctimtVotwOIx9+/ahv78fOp0OzWZTvGS8fv06rl27hnK5zJ1AdEcymQzOnz+PTCaDWCyGUCgEvV4vrpv3QrnxVsp8KR3tX3nlFXHDE41GRT1wovWyVkCKQSq6U1qtFsFgEGNjY2I7vbL1XtmZWC6XuW2eOs5kMuHAgQM4cOAAwuEwJElCoVAQZViVZwCtViueJZRdHqVSiTs6qOPq9boo0/rmm2/CarWir68PjzzyCAwGA973vvfBbDbj9OnTSKVSqFarm6aBIm0MpfxurVbD9evXcfbsWXg8HgwPD8Nut4vvmc1mDA4OotVqwWazrfr15XIZc3NzyGQy+Pa3v42XXnoJqVSKzxOkotFooNfrYbVacfDgQTzzzDNwOp2rykO3220sLi5ienoaFy9exMTEBJaXl1EoFDZw5u9uSwXm9Xo9LBYL7Ha7eFOryOfzuHz5Mubm5rC8vHxfjcZo+2s2m0ilUlheXobVakUoFLrnn6XRaOB2u0X26btZmWl6azChWq0iGo0ilUphcXER0WhU/LtarYb5+XkRoKXtSZIkuFwu9PX1we12i3qj+XxeBD8TicR7NiMmUpRKJSwvL0On0yGfz6NSqaxLz4J6vY5qtYp8Po9EIoGFhQV85zvfweTkJPL5PIrFonhJSbTeGIyne6HUuA0EAnA4HCIwX61WUSqVUK1WUa/XmdRDHafX6xEMBjE0NASXywUAYsfZ8vKyKAOn0Wig0+mg0+lEI7t6vc7APHVcq9VCoVBAqVTC7OwsLly4gGaziWPHjsFsNqO/vx8ajQbRaBR6vZ6l5EgE1uv1OpLJpGik3tfXt+p7K3fsrvy1yu7HeDyOeDyOyclJnDt3DvV6nc8TpCJJEnQ6HQwGA4LBIEZHR0V1lZUymQxmZ2cxPz+PWCyGZDK5QTN+b1siMK80xRkZGcEjjzyCUCiEnp4etNttLCwsYHFxEZcvX8bk5CSi0SiD8vSeyuUy3nzzTSwvL2N8fByZTAZarfZds+a1Wi0sFou4mCg30rfKZrOIRqNoNBool8urblJKpRJisZjINF3ZLKdcLmNhYQHFYhGZTGZV05Rms4l4PI5CoYBcLscHxm1Iq9WKZkq7du1CT08PNBoNqtUqIpEIlpeXkUql0Gq1+N+f7lij0UChUEAikcDJkyeRzWbh9Xrh9/thtVoRDodhMBju+mfOzMxgcXERi4uLuHLlCtLpNObm5pDL5VCpVMTLI65VWi9arVY0JFau02uVfiNaiyRJ0Gq1MJvNcDgcMJvNq+qPrvyH64k2gnLN1Gg08Pv9GBkZgd/vFwFQJTh16dIl5HK5jZ4u7RDtdhuJRAJXr16F0WhEOp0GALhcLsiyjFAoBKfTCa1Wi1wuxwDqDqeUX11aWsIbb7whXoRXKhWYzWZRSk4pb1OpVERJ4FgshlQqhe985ztYXl7GtWvXUK/XeV2mVZSeBYFAAI8++igCgQCGh4dXxfGUF4vVahVXrlzBd7/7XUQikU3/UnvTB+aVussWiwUPPPAA/sk/+Sfo6emB3+9Hu93G1atX8e1vfxszMzNiyz7f2NJ7KRQK+OY3vwmdToeHHnoIkUhENB5ZKzgvyzJ6e3thtVoxOjoKp9O55vfi8ThOnz6NUqmEZDK5qn5VLBbDO++8g3w+j2g0uir4rrwpXiubHsBt/x1tbcpWLKPRiFAoJNaXVqtFrVbD9PQ0pqensbS0xGAn3ZVarSZ6E3z961/HqVOnsHv3buzZswehUAgej+euA/P1eh0XL17EqVOnMDExgRMnTqBarTIYTx2jBFX1er3IhGm326KhE3cQ0e0o60en08FqtcLj8cBqta6qMa/8o/TNINoISmB+YGAARqMR+/btw2OPPQYAiEQiKBQKqFQquHr1Kq+11BVKKYhsNgu9Xo+lpSVotVoEAgGYTCZcvnwZHo8HOp0OpVKJgfkdTnnBPTs7i2w2i97eXni9XpRKJQQCAQQCAciyDJ1Oh3a7jWKxiGKxiKmpKZw5cwaRSATPP/885ufnxT0e0UpKMuPAwAA+97nPYXh4GB6PZ9WO8EajgWQyiVwuh7fffhvPP/88qtWq2I22WW36wLxGo4HVaoXb7UZPT49oEqE8nJXLZaRSKfGWln+B6U60222xXpTyMUpG3lr0er142wtA1JG/1ezsLKanp0Xt5ZU3KMlkEolEAqVSSZR7IALUpRnq9TpyuZzIIFDqofFBjO6WEnjKZrMAAIvFAqPRiEajgevXr8PlcsFsNoumTEajEa1WS2S+l0olcSMjSRLK5TKWlpaQTCaRyWTY84A6TknQcLvdMJvNInsqlUohn8+zxBu9J+Uaq+xmVJrNKWOsj0wbTZZlkfRTKpVgNpvh9XpFtrzSg2qzZ/zR9tNoNFCpVJDJZDAzM4N6vQ6j0QibzQar1YpAIACtVotYLMb1SQAgGqpnMhnMzc2JXeDNZhNGo1EkLs7PzyOdTmNmZgZzc3OIxWLI5/ObsjEnbQ6yLMNqtcJms8HhcMBut0Ov16/6zsqSSKlUSuzM2OyJF5s+MK/VajE6Oor9+/fj4MGD8Hq9MJvNov5yIpHAtWvXkEgkVpUGIboT7XYbU1NTiMViAPCupWyUbuIajQYmkwkmk2nN7yndyJWHvZUnAOUixdrLtJKyW6LZbKJaraJcLiOfz2N+fh7Ly8t45ZVXMDExgUwmw6AB3ZN6vS56V8zOzuLtt99GT08PLly4AKfTiQceeAD9/f3w+/0YGhpCvV7H5OQk0uk0Ll++jKtXr4qf1Wg0cO3aNbHllDvUqNN0Oh3GxsbwyCOPwGq1ol6vI5vN4rXXXsPi4iKzR+m2lKB8s9lEIpHAzMwM2u02+vr60Gw2kU6nEYvFmCxBG8rhcODYsWNoNpsiiBCLxTA3N4d4PI6XXnoJkUgE8/PzPN9RVyn9Ny5duoT/+3//L3p7e/Gv//W/FqWWPvShD2F2dhaRSIRllggAxMvESqWCZ599FiaTCfv27cPY2BjsdjvC4TAA4NVXX8XVq1eRzWZFLE9pfk20Fo/Hg4GBAZEp73A4VIm1hUIBL7/8Mi5fvozz58+jVqtt+qA8sMkD80pRf5fLhd7eXrhcLhgMhlVvRWq1GvL5PEql0pY44LT5KNuoiDaKEpxXmtApL3iUbPloNMqXOXTPlIZMAEQJrXw+D4vFAqfTCbfbDaPRCL1ej97eXtRqNbHDZ25uDleuXBGBgEajgVgshlwuh2KxyAABdZyyc9Lj8QCAaDy8uLgotksTvZd2uy0y+DwejyhfU6lUuPOHukp5UaTs3G21WtBqtbDb7QAgdm8UCgXk83mkUilEIhEsLCysKoNJ1A1Kia9cLoepqSkUCgVks1m0Wi2YzWYEg0GUy2XIsixKhNHOtrJM3Pz8vEhwNBqNolxrq9XC5OQkLl26tCqxkejdSJIEo9EIl8sFh8Mhnl2Bm0kYyq7vpaUlzMzMIJ1Ob5kksk0bmDcajeItyAMPPIDjx4/D5/NBp9u0UyYiumvKA1q5XMZLL72E69evo9FooF6vo1AoIBKJbIntV7S1lMtlzMzMwGAwIJvN4s033xTBz1arJbYkx2IxxGIxtNttSJKEVquFUqkkMqh4E02d1mq1kEqlsLCwgOXlZUxPTyOZTOKNN95ALBbD0tIS1yHdVrvdRq1Ww/nz58V1VQkMXL9+HYlEArlcjuuIuqJYLOLEiRNYWlrCgQMHMD4+jmq1ing8jlKphOvXr4tt+PPz82IXZS6X4+5w2jBKmU1ZljE/P4+pqSk0m03s2bMHWq0Wvb29orxcqVTa6OnSJtJutxGNRtFoNGA0GnH58mW0221cv34dhUIBjUaD11+6I4ODg/jgBz+IcDgsSkwrYrEYrl27hoWFBVy+fBnT09NbahfPpo1yy7IMv98Pr9eLsbExHDp0CDqdjoF5Itp22u02qtUqTp48iTfffFOMEXVKtVrF4uIiAGB6ehqAupQX1yBtBq1WC9lsFsvLy7hw4QJeffVVUWaJ2fJ0J5S+QpOTk4hEIiiVSqJ+9/z8PLLZLHsVUNeUy2WcOXMGs7OzaLfbcDqdyOVyuHr1KjKZDF577TVMTk6KXZStVouBK9pwzWYTxWIRer0ey8vLmJubg9/vx65du9BsNuH3+5FIJER/IqKVlJeNRPdKkiT09fXh+PHjcDqdMBqNAG4+ryYSCZw9e1a8OFxYWNjI6d61TRvl1ul0cDqdojGdTqcT9YOUIFatVkO1WkWj0WDTJiLaFngeo43CtUebUaPRwOTkJEwmE2ZnZxGNRlEoFFh6hO5avV5HpVJBNBrF+fPnIUkSYrGYKHFD1A3NZhO5XA6tVgtXrlyBTqdDqVRCJBJBsVhc1axOeb7l9Zk2C+Ulp8lkwv79++H3+0VTT4vFomrESES0XrRaLWRZhk6ng0ajEZUHms0mMpkMrl+/jqWlpS3ZiHrTBuZNJhP6+/sRDAbhdrthMBhENl+z2UQ2m0WxWEQul+OWeiIiIqJtqFKp4Jvf/CZee+011Ot1VKtVkUFKdKeUGvPlchnnz5/HtWvXANys512r1fgcQV1Rq9WwsLAAjUaD2dlZfOMb3xA1mVutFmq1msiQ55qkzaZcLuOb3/wmXn/9dfyjf/SPMDY2hlqtBrvdDo/Hg2QyudFTJKJtSq/Xw2KxwGQyQaPRALjxnFCtVjEzM4NXXnkFyWRySyZbbNrAvCRJ0Ov1kGUZWq1WNBNRutUnEglkMhlks9lVNzBEREREtD0oTRBZaoTulxLorFarqFarGz0d2sGUF4usGU9bTbvdRj6fR7lcRjQaxdLSErLZLCqVCuMxRNRRSqksnU6HVqsFjUaDcrmMfD6PTCaDXC4n+hZsNZs2ML+WUqmEZDKJaDSKZ599FpOTk5iamsLS0pIoZ0NEREREREREROtH2WHUaDRw4sQJLC8vo16vY2FhQQTIiIjWm9Iw+KWXXkI4HMb73/9+mM1mnDt3DpcvX8apU6eQTCZRLBYZmO+UlRkuuVwOsVgMp06dwjvvvINyuYxKpbLRUyQiIiIiIiIi2rZarRZarRZmZ2cxOzu70dMhoh0inU5jamoKkiShWq1ClmUsLS1hYmICCwsLKJVKW3Yn2qYNzBcKBZw7dw5zc3PIZDL4zne+g1KphGw2i3Q6jYWFBVQqFWbJExEREREREREREW0z7XYby8vLOHv2LObn55HNZmEwGHDu3DnMzMwgFott6djwpg3MZ7NZvPXWW5AkCS+//LLouqv8ozTIISIiIiIiIiIiIqLtZ35+HouLi9BoNHjxxRcBAM1mE61WC+12e0vHh+85MN/pxh5Ko1cAW6ZGEJuddBaPrxqPSefxGKvxmHQej7Eaj0ln8fiq8Zh0Ho+xGo9J5/EYq/GYdBaPrxqPSefxGKvxmHRep46xEiNuNpuo1+sd+T064U6Oh+Zefzgbe6jxmHQWj68aj0nn8Rir8Zh0Ho+xGo9JZ/H4qvGYdB6PsRqPSefxGKvxmHQWj68aj0nn8Rir8Zh0Ho/xandyPKT2Pb7OaLVaiEQisNlskCTpXn7EttFut5HP5xEMBqHR3PO7DnoPXHM3cc11D9fdTVx33cN1dxPXXXdwzd3ENdc9XHc3cd11D9fdTVx33cE1dxPXXPdw3d3Eddc9XHc33M2au+fAPBERERERERERERER3T2+KiIiIiIiIiIiIiIi6iIG5omIiIiIiIiIiIiIuoiBeSIiIiIiIiIiIiKiLmJgnoiIiIiIiIiIiIioixiYJyIiIiIiIiIiIiLqIgbmiYiIiIiIiIiIiIi6iIF5IiIiIiIiIiIiIqIuYmCeiIiIiIiIiIiIiKiLGJgnIiIiIiIiIiIiIuoi3b3+wlarhUgkApvNBkmS1nNOW0673UY+n0cwGIRGw3cdncI1dxPXXPdw3d3Eddc9XHc3cd11B9fcTVxz3cN1dxPXXfdw3d3EddcdXHM3cc11D9fdTVx33cN1d8PdrLl7DsxHIhGEw+F7/eXb0vz8PPr6+jZ6GtsW15wa11zncd2pcd11HtedGtddZ3HNqXHNdR7XnRrXXedx3alx3XUW15wa11zncd2pcd11Htfdaney5u75VZHNZrvXX7pt8Zh0Fo+vGo9J5/EYq/GYdB6PsRqPSWfx+KrxmHQej7Eaj0nn8Rir8Zh0Fo+vGo9J5/EYq/GYdB6P8Wp3cjzuOTC/k7ckvBsek87i8VXjMek8HmM1HpPO4zFW4zHpLB5fNR6TzuMxVuMx6TweYzUek87i8VXjMek8HmM1HpPO4zFe7U6OB4srERERERERERERERF1EQPzRERERERERERERERddM/NX4m2o8cee0w19sADD6z6XK/XVd957rnnVGPRaHT9JkZERERERERERETbBjPmiYiIiIiIiIiIiIi6iIF5IiIiIiIiIiIiIqIuYmCeiIiIiIiIiIiIiKiLGJgnIiIiIiIiIiIiIuoiNn+lHeu3f/u3VWP/8l/+S9XY1atXV33u6elRfeehhx5SjX3uc5+7j9kRvbcvf/nLqrFf/dVfVY2dPn26G9OhbeDf/tt/u+rzf/kv/0X1nUOHDqnGpqenOzUl2ka+53u+RzX24osv3tPPcrvdqrFisagaq1ar9/TziX7oh35INfbGG2+oxhYXF7sxHdrE9Hq9auzjH/+4auzv/u7vVn2uVCr3/HtqtVrV2K3nxXg8fs8/n4hovax1z/axj31MNfbggw+qxtLptGrswIEDqz7/7u/+ruo7L7zwwt1MkWhDMWOeiIiIiIiIiIiIiKiLGJgnIiIiIiIiIiIiIuoiBuaJiIiIiIiIiIiIiLpoQ2rMP/PMM6oxi8WiGlurjuPy8nJH5kTb28DAgGrss5/9rGrs6aefVo19+9vfXvX5N37jN+7o5xOtp7XOkbt371aNsZ483am16t/+wi/8wqrPVqtV9Z0nn3xSNZZMJlVj2Wz2PmZHW50kSaqxX/mVX1GN3WuN+QceeEA1Njo6qhpbq+4o0a16e3tVY1/60pdUYz/zMz+jGvut3/qtjsyJNqe16snfWjseWLv3yrPPPrtu8/jTP/1T1dhLL7206vPv//7vr9vvR5vfWn0xfvEXf3HV57X6BNVqtU5NiXao//Sf/tOqz2v1rNJo7ixHeHZ2VjVWKpVWfWYshgDAZDKt+rzWc8GxY8dUY9/85jdVYzMzM+s2rzvBjHkiIiIiIiIiIiIioi5iYJ6IiIiIiIiIiIiIqIsYmCciIiIiIiIiIiIi6iIG5omIiIiIiIiIiIiIumhDmr/+1E/9lGrs1kL9APDbv/3bqrFWq7Xqs8FgUH2n3W6rxtZqarJWkf+f+ImfUI3R1rdW84a1Gn0VCgXVWDgcXvX5x3/8x1Xf+c3f/M17nhvRnXjqqadUYydOnOj+RGhLOnjwoGrsr//6r1Vjt14/G42G6ju/8zu/oxr7yZ/8SdXY448/fjdTpG3mx37sx1RjFy5cWLef73Q6VWP79+9ft59PO8u/+Bf/QjW2VpPPtRrC0s7y6KOPqsbWOvf8wA/8wLr9np/4xCdUY3v27FGNrXXepe1prTX3la98RTWm060O9/zZn/2Z6juf//znVWNzc3P3MTvaDtZqzvq7v/u7qrEvfOELqrGLFy+u+vyf//N/Vn3n7bffVo2dOnVKNZZIJFRjt8YEaXuzWCyqsc997nOqsZ/5mZ9Z9XmtNdxsNlVj//N//k/V2OTkpGrs1uv64uKierL3iBnzRERERERERERERERdxMA8EREREREREREREVEXMTBPRERERERERERERNRFDMwTEREREREREREREXXRhjR//dSnPnVH37u1WQmgbvZlt9tV31mrGcTP/uzPqsbWahJLO8dajV7XcmsT4ng8rvrOWk1PiNbTWg29vvvd727ATGizMxqNqrH//b//t2psrWvgtWvXVn1eq6nrWg1hX3nlFdXYWs3Ebm2uw+vw9uDz+VRjv/qrv6oa271797r9nmutzbfeemvdfj7tLB//+MdVY1/72tdUY6lUqhvToU3s93//91Vjv/zLv6waq9fr9/TzR0ZGVGNf/OIXVWMf+chHVGNrNbWj7emnf/qnVWPPPvusamxhYeE9f53JZFKNrXVOXOv+j7YPrVa76vNa5x1ZllVj09PTqrFbG2f+zd/8zX3OjnaKgYEB1dhaz5nValU1duuz51/91V+pvrNW09h8Pq8a+8M//EPV2L/5N/9m1ed/9+/+neo794oZ80REREREREREREREXcTAPBERERERERERERFRFzEwT0RERERERERERETURQzMExERERERERERERF10YY0f71TazUYSSQSt/0MAKOjo6qxn/qpn1KNDQ0N3cfsaDtaqyHOhz/84VWfH330UdV3stlsx+ZEO5PD4Vj1+cEHH1R9Z631SmQ2m1Vjjz32mGrsL/7iL1RjP/qjP7rq8502r/uDP/gD1dhaTbFv/V46nb6jn0+b22c+8xnV2Ne//nXVWC6Xu6efPz4+rhr76Ec/qhr77Gc/e08/n3aeffv2rfq81hr7H//jf3RrOrSF3NokHQB+8zd/UzW21vno1kacLpdL9Z33v//9qrGvfvWrqrGJiYnbzpO2t71796rGfvZnf1Y19t3vfnfV5x//8R9XfWfXrl2qsXa7fe+Toy3p+PHjqz5/4hOfUH1nrebUrVarY3Oinefnf/7nVWNOp1M19sM//MOqMbvdvurzWtfhW9c5AHz6059Wjel06lD5//t//081tl6YMU9ERERERERERERE1EUMzBMRERERERERERERdRED80REREREREREREREXbSpa8zfqy9+8Yuqsf/+3/+7amxmZqYLs6HNqqenRzX2X//rf1WN3VoT+e233+7YnIgUTz755KrPsVhM9Z21xoiCwaBqTJIk1dha9fTu1Vo/f62xwcHBVZ9ZY3578Hq9qrETJ06s289fq578+fPnVWNcT3Snvv/7v3/V50KhoPrOWn04iG5dOwBw6NAh1dj3fd/3qcbeeOONVZ8zmYzqO6+//rpq7Od+7ufufIK0I1y4cEE19ou/+IuqsVvvxd58803Vd2595gCAAwcOqMbOnj17FzOkrebWdRAKhVTf+fM//3PV2G/8xm+oxiqVyqrPs7Ozqu8YDAbV2K19OGjnWWs96fV61dhavV2SyeSqz2NjY6rv2Gw21VgkElGNfexjH1ONnTp1SjW2XpgxT0RERERERERERETURQzMExERERERERERERF1EQPzRERERERERERERERdxMA8EREREREREREREVEXbfnmr8PDw6qxo0ePqsZ+9Ed/tBvToS3kl37pl1Rj9XpdNbZWAwqiTvvH//gfr/r8e7/3exs0E9pq3v/+96vG2u32uv38n/3Zn1WN/eRP/qRq7NVXX1WNXbx4cd3mQZvHCy+8oBp77rnnVGNrNUO8lc/nU40dO3ZMNfblL3/5DmdHpPbMM8+s+vytb31L9Z1qtdqt6dAW0mg0VGNvv/32HY3daq1mnX/6p3+qGmPTTbrVf/yP/1E1tlZjzlvvu/79v//3qu/82q/9mmpsrXu9T3/603czRdpivvKVr6z6/JGPfET1nY9+9KOqsR/6oR+6p99vrbjLr//6r6vG1lqztH2dO3dONfZjP/Zjd/Rrw+Hwqs9rNbteqxHxhz70IdXY0tLSHf2e64UZ80REREREREREREREXcTAPBERERERERERERFRFzEwT0RERERERERERETURQzMExERERERERERERF10ZZr/qrTrZ7yX/7lX6q+85u/+ZuqsWw227E50db0T//pP1WN/dZv/ZZqbGFhYdVns9ms+k65XFaN6fV61ZjRaFSNPf7447edJwC8+OKLqz632+11beZIm8/TTz+96jObENOdkiTpjsZGRkZUY5/85CdXfX7f+96n+s73fM/3qMZkWVaN/at/9a9UY2ymuD298cYbqrG11teuXbve82dduHBBNbZW0+BkMnmHs6Odrq+vTzX2wQ9+cNXnT33qU92aDpHwz//5P1eNff/3f/8GzIS2mnQ6rRr73u/93nv6Wb/0S7+kGjt16pRqbK3r+uTk5D39nrT5TE1Nrfq8VozC6XSqxtZq/vp7v/d7qz6/8MILqu88+OCDqrGPfexjqjE2f6W12Gw21dit68zr9aq+89nPflY11u1Gr2thxjwRERERERERERERURcxME9ERERERERERERE1EUMzBMRERERERERERERdRED80REREREREREREREXbTlmr/+3M/93KrPazW0+1//6391azq0ha3VOO6nf/qn72jsVmfOnFGNhUIh1ZjH41GNJRKJVZ/PnTun+s7s7Oyqz81mE5cvX37PedHWcOzYMdXYrWvl2rVr3ZoObXFf/epXVWNf+MIXVGNXr15Vjd3aVHqta2wsFlON/cqv/IpqbK0mnrRz5PN51di9rom1GqwXi8V7+lm08+zbt081dmvjxOeee65b06Ed7OMf//iqzxqNOkfurbfeUo0ZDAbVGJup03pZ677uv/23/6YaWyvGcmuz4lartX4To00nk8moxv7iL/5CNfbLv/zLqz4/9thjqu84HA7V2LPPPnvvk6Md5VOf+pRq7MCBA6s+f/7zn1d95xvf+EbH5nQ/mDFPRERERERERERERNRFDMwTEREREREREREREXURA/NERERERERERERERF3EwDwRERERERERERERURdt6uavazVr+vmf//lVn8fHx1XfWatJGNGtjh49qhobHBxUjVksllWfH3roIdV3lpaWVGNrNWd9++23VWOlUum286Tt7/HHH1eN/dZv/daqz6lUqlvToS1ucnJSNfboo4+qxtZqCHtr05yvfe1rqu/8wi/8gmpsenr6bqZIdFeCwaBqjA3Q6U4FAgHVWDweX/W5Vqt1azq0g4XD4VWf9Xq96jsvvviiauw//If/oBo7ffr0+k2M6BZ/+Id/qBr7zGc+oxo7cuTIqs9rPevS9pbL5VRj3/M937Pq81rNhL/0pS+pxv70T/90/SZG24bP51ON/c7v/I5q7MSJE6s+//qv/3rH5rTemDFPRERERERERERERNRFDMwTEREREREREREREXURA/NERERERERERERERF20qWvM/9Iv/ZJqrN1ur/qcSCS6NR3aZubn5+9o7FZr1X4kuh9bqf4ZbU2nTp1SjX3wgx/cgJkQ3b0f+ZEfUY29/PLLGzAT2oq+8pWvqMbu5H6PaL39yZ/8yarPkUhE9Z3nn39eNVatVjs2J6K11Ot11djP/MzPqMZ+4id+YtVn1pgnQP3ccWvNeaK78elPf1o1JkmSauxzn/vcqs+tVqtjc1pvzJgnIiIiIiIiIiIiIuoiBuaJiIiIiIiIiIiIiLqIgXkiIiIiIiIiIiIioi5iYJ6IiIiIiIiIiIiIqIs2dfPX5557TjX2hS98YdXnaDTarekQERERUZex0Svdj1qtphrjmqKNkMlkVn3+y7/8y42ZCNE9OH369B2NERGtp7/5m79RjaVSKdXYxMREN6bTEcyYJyIiIiIiIiIiIiLqIgbmiYiIiIiIiIiIiIi6iIF5IiIiIiIiIiIiIqIuuuca8+12ez3nsaa1akI2Go2O/773qhvHZCfj8VXjMek8HmM1HpPO4zFW4zHpLB5fNR6TzuMxVuMx6TweYzUek87i8VXjMek8HmM1HpPOW+9j3Gq1VGP1en1df49OupPjcc+B+Xw+f6+/9I79+Z//ecd/j/WUz+fhcDg2ehrbVjfW3FbDNdd5XHdqXHedx3WnxnXXWVxzalxzncd1p8Z113lcd2pcd53FNafGNdd5XHdqXHedt97rLhKJqMaeffbZdf09OulO1pzUvsfXGa1WC5FIBDabDZIk3dMEt4t2u418Po9gMAiNhtWBOoVr7iauue7huruJ6657uO5u4rrrDq65m7jmuofr7iauu+7huruJ6647uOZu4prrHq67m7juuofr7oa7WXP3HJgnIiIiIiIiIiIiIqK7x1dFRERERERERERERERdxMA8EREREREREREREVEXMTBPRERERERERERERNRFDMwTEREREREREREREXURA/NERERERERERERERF3EwDwRERERERERERERURcxME9ERERERERERERE1EUMzBMRERERERERERERdRED80REREREREREREREXcTAPBERERERERERERFRF+k2egJ3o9VqIRKJwGazQZKkNb/TbreRz+cRDAah0fC9A92/91p3XHO03niuo43Acx1tBK476jZeY2kj8FxHG4HrjrqN11jaCFv9XLel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\n",
      "text/plain": [
       "<Figure size 2000x400 with 40 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_up_conv(model)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[![Dataflowr](https://raw.githubusercontent.com/dataflowr/website/master/_assets/dataflowr_logo.png)](https://dataflowr.github.io/website/)"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "include_colab_link": false,
   "name": "09_AE_NoisyAE.ipynb",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "dldiy",
   "language": "python",
   "name": "dldiy"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
